diff --git a/README.md b/README.md index 53c42a2..54e0499 100644 --- a/README.md +++ b/README.md @@ -3,22 +3,66 @@ ![](https://coinweek.com/wp-content/uploads/2011/09/gold_standard.jpg) ## **Background** -The Gold Standard -Currency has played a major role in society for thousands of years. Having an established currency was the mark of humanity's first step towards "functioning modern society". Throughout history, one precious metal has stood as an inherit symbol of monetary value and that metal is none other than gold. +Currency has played a major role in society for thousands of years. Having an established currency was the mark of humanity's first step towards "functioning modern society". Countries all established different currencies, yet all mutually recognized gold as a valuable commodity. To facilitate trading, many countries adopted the gold standard or simply settled traded disputes with gold, since all countries had a common conception of gold's value. +Gold's significance in the history of commerce and the maintained international understanding makes it the perfect benchmark to compare the buying power of different currencies. This project aims to draw insights from the buying power of different currencies using gold as the standard to determine each of their value. + + +## **Procedures** +We gathered the data for the Average Hourly Wages from the majority of developed countries around the worldand and for the spot price of gold. + +From: + + https://www.oecd-ilibrary.org/social-issues-migration-health/data/oecd-employment-and-labour-market-statistics/average-annual-wages_data-00571-en. + + https://www.investing.com/currencies/xau-usd-historical-data + +## **Inference** + + ++ Mexico and Russsia had the lowest minimum wages over the years. + ++ Netherlands and Luxemberg had the highest minimum wages over the years. + ++ New Zealand and the UK are continuosly increasing the minimum wage over the years. + + + +## **Conclusion** + ++ This project used the gold price and U.S. dollar as currency to analyze the work hours to purchase the same amount of gold around the world, as this provides a clearer picture of the global economy. (the inverse of work hours = Purchasing Power) + ++ Weak currency is related to more work hours to buy 1 oz of gold. (e.g. current (Nov. 14, 2020) 1 Mexico Peso = 0.049 USD ~ 20 times more work hours of US) + ++ Gold behaves like a currency, in a sense, so it is sensitive to changes in exchange rates between national fiat currencies and the divergence in monetary policies of the major central banks. + + + + + + + + + + + + + + + + + + + + + + + -Around 700 B.C., Lydians made gold into coins, which was the first time in history, or at least the first recorded instance, a society established a standardized currency system for exchange. Gold was always desired and valuable prior to this point, but this act formally solidified its power to function as a monetary unit. -As more societies emerged around the world, more currencies came into being. Utilizing improved modes of transportation, countries began to engage in commerce with each other, and a global economic framework eventually took shape. -Countries all established different currencies, yet all mutually recognized gold as a valuable commodity. To facilitate trading, many countries adopted the gold standard or simply settled traded disputes with gold, since all countries had a common conception of gold's value. At the end of the 1800's, a formally written and established internationally gold standard was agreed upon by the majority of developed nations. -Although the gold standard could not survive as a long term monetary system, gold still exists as a physical commodity of value that most developed nations collectively recognize and purchase regularly. -Gold's significance in the history of commerce and the maintained international understanding makes it the perfect benchmark to compare the buying power of different currencies. Our project aims to draw insights from the buying power of different currencies using gold as the standard to determine each of their value. -- How many hours should a person in each country work to - buy 1 troy oz of gold? -- Drawing living standard of each country insights diff --git a/Resources/.ipynb_checkpoints/Hourly_minimum_wages-checkpoint.csv b/Resources/.ipynb_checkpoints/Hourly_minimum_wages-checkpoint.csv deleted file mode 100644 index 88cf724..0000000 --- a/Resources/.ipynb_checkpoints/Hourly_minimum_wages-checkpoint.csv +++ /dev/null @@ -1,2373 +0,0 @@ -"COUNTRY","Country","SERIES","Series","PERIOD","Pay period","TIME","Time","Unit Code","Unit","PowerCode Code","PowerCode","Reference Period Code","Reference Period","Value","Flag Codes","Flags" -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,16009.336351562,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,16070.9418490968,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,16245.2321516289,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,17397.5336083409,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,18157.9086357549,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,17988.3226208953,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,19009.0992659915,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18633.5970435944,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19507.147266941,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19688.6959107231,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,19197.7726134835,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,18877.5695843202,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,18782.0226423485,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18747.7999739593,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18802.3039193939,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,19887.4903741198,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20036.6090181415,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20585.9095452602,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20928.2818254341,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,9584.00365821467,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,9486.66787339873,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,9394.23519189671,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,9305.06663079854,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9811.12993995186,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,10214.4257063816,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,10483.1166988845,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,10591.5794091654,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11047.0577622482,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11013.4719854861,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,10808.8686421956,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10550.7961488333,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10467.5100028595,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,10483.3262300077,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,10589.9354482569,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,10717.4580973854,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,11356.2123774572,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,11614.1824260802,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14105.382882782,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,22811.887812508,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,23036.6088116918,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,23337.1909043548,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,23746.7903844364,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,23939.3403768226,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,23572.9051441716,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,24354.6955676035,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,23928.1467101025,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,24235.9685714195,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,24114.1991862564,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,24296.6616810414,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,24627.5714523778,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,24700.5492802456,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,24777.7003219718,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,25079.9389576652,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,25370.6371012788,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,25596.9282511179,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,25970.8371414463,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,26388.4708242643,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.82963246628047,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.77284901098645,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.7157570109392,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,5.65701230671178,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,5.96857319433752,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.21072627297824,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.37523529786335,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.44545103827258,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.72070525723016,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,6.69641691545253,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,6.58062805843115,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,6.42350901599038,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,6.3636810883901,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,6.37329650080104,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,6.4349387393739,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.52212205076796,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.90584316668749,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.06375423378897,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,8.57665814207433,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.13781997686605,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.21934864314786,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.29774689852131,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.6932065206754,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.76418624733718,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.74902891161886,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.73768566115039,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.70992542684707,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.75372873192586,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.77046707262711,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.82360831653865,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.8730816675056,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.9076088440551,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.93196624309308,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.07262975500428,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.48712610795037,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.41505251234051,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.37030972399934,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.59388963129994,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,22558.6768160607,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,22513.8336735017,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,23356.2198713932,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,23322.2380114185,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,23791.1626769606,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,23654.0345524869,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,24097.3771464712,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,23790.0088539693,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,24781.2345227476,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,24633.1358198615,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,24572.5180486659,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,24383.8549435032,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,24358.5467108324,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,25405.468057909,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,25459.6300557461,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,25385.7996883193,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,25935.3343080989,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,25810.9722372078,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,26252.4536104059,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15203.2387124639,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15315.1877994366,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,15901.817020034,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,16452.1640023319,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,16895.3421438577,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,17536.0276809328,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18701.657008296,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,19318.2313898912,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19818.848533592,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19862.0939851214,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,19469.2623377148,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,19916.5441899601,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,20153.2618181344,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,20545.2345259271,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,21210.4158757712,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,21794.7127518977,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,22106.0629685934,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,22541.5993157207,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,23329.9843531253,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14578.684981368,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15595.5844952078,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,15951.9704962361,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,16876.021223316,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,17662.3773965573,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,18019.5129170488,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18526.9208807405,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18502.2220039255,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,18714.1864919394,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,18527.544212668,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,18246.3569159508,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,18208.7234372972,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,18128.6684629439,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18268.956840067,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18746.2706380154,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20402.5619520386,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20512.1075609751,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20918.7000279486,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21544.5883246431,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.512387382645776,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.516022573220981,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.515812208752755,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.513675556103805,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.516154610420657,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.517993123159848,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.517607641534819,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.5121168797668,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,0.508833935988027,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,0.512223376608026,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,0.515684702672994,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,0.516493953357325,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,0.518741962357467,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,0.518137143683565,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,0.528665405749467,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,0.546375911711998,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,0.564627697194638,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,0.594207329218776,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,0.6663,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,9783.30896155138,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,9943.63576058763,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,10096.5866202009,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,10314.8272712664,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,10515.1021019761,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,10818.9632030667,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,11079.0480302666,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,11297.1838483146,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11801.8202651896,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11469.6339273999,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,11189.086154707,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,9232.60633164642,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,9011.74828577643,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,9131.48105293224,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,9292.80847532749,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9370.17402858391,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9266.27508400741,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9208.66379409622,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,10103.6969536851,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.913491462884931,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.02543894608161,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.21910809201188,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.32321925138479,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.41165776311017,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.51464944765112,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.65234485198304,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.72958861538875,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.90086826467967,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.97923150291735,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.03968314384356,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.10461268409764,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,9858.74208052403,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,9909.57275590884,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,9837.46590238704,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,9839.29965265038,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9873.18717197749,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,9856.64568092444,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,10052.2221317754,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,10357.7361391365,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11033.4584270788,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11485.4071848889,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,11313.7722612831,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,11008.4701168124,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10978.3437119429,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11008.9655202608,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11407.4146808024,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,11899.7273103292,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,12337.0958661135,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,12720.2531438299,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,13114.4674433346,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.0895982059643,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.217059943655,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.3925217768205,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.7406337215536,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,11.1554771983097,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.4346873805887,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,11.5573503482281,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,11.5773111130995,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.7821292250653,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.6970747384896,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.6884376582752,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.832990258449,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.882875764424,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.948219035979,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,12.0440006487497,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.0970192694576,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.084857962402,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,12.0111383218917,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,12.0598398914975,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15466.5036558735,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15225.0298670373,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14887.0790342016,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14498.9089243802,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14023.1393078729,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13584.8980893721,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13994.7808355663,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15206.274324884,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16995.6048443858,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17680.4246778152,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17139.3621682899,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,16791.8815067327,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,16549.4596179196,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,16285.2761266586,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,16265.9802602064,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16063.3280117331,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,15728.2979634091,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,15353.2812793493,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,15080,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,6.25134025008291,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,6.29828108965483,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.30831801533845,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.34050357589249,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.35798309706525,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.42300293216023,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.47136270925649,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.69776817675252,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.85869976001739,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,7.01613347265206,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,7.09892287693855,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,7.19630449873992,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.14475980728746,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.24109079897303,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.43205795553583,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.62744612473091,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.7834256915096,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.98444663338199,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,17096.9635183489,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,17312.9491933776,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,17610.2164807674,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,18200.0981371639,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,18903.0570659062,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,19376.1834515325,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,19572.3768237594,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,19610.3519614963,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19953.6231810057,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19820.8793446285,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,19797.0738609506,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,20051.2127657372,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,20135.7440392991,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,20246.3754940665,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20408.7721266657,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20498.6128263385,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20478.0048475409,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20353.0850605133,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20435.6100466149,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.2106806602215,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.32348758414,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.4263111482613,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.3600939645605,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.1881054812934,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.1870555001257,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.2628385452836,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.296150513468,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.5085132299981,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.5396778145822,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.3715272675998,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,10.3336998562757,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,10.2060024068459,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,10.2518008036033,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.2685793916523,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.4345084557314,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.477880551771,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.4848280277358,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.4708314851775,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3437.58045366545,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3837.68661408509,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4421.6265900163,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4926.45912174953,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5134.1189722462,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,5482.42412727777,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6171.61490923753,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6757.32828977579,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6762.63075434844,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6567.44337403147,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6255.78627534546,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,6278.39633223634,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,6740.46255811295,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7485.64854872126,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8264.35781944256,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9098.45623121944,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9616.21552262483,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9890.15834338654,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,10443.5444229378,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3180.84043535385,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3777.16583321783,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3608.95197020003,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3583.78612380654,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3721.71116806842,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3926.49942009194,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3811.6146922142,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3786.48964797731,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3765.10589591301,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3691.19541087304,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3769.0656640085,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4253.47348768122,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4405.79364907698,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4573.55128236332,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4734.17831634919,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,4985.02344906115,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5601.24610734995,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5887.59027736622,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,6151.51723663387,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3381.46031967173,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3318.23829197267,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3469.19820453461,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3456.35774967606,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3485.11514399929,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3643.55487431747,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3702.47766764985,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4275.95659685223,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4668.39394305312,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4697.17743446253,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4742.22889049382,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4955.83616960607,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,5234.30188333421,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,5493.06054018109,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5772.39607029614,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6143.08449316602,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6506.10978006082,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6709.7703818889,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7032.39459547452,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.87085309864014,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.07458504288681,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.25549847862827,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.35552005939078,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.48192842531536,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.6427156389921,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.6635450201842,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.50430470352152,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.47903399242235,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.44305446305732,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.39709686327759,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.32079778014007,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.33545639460557,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.39855359893734,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.59908283622451,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.75509900932361,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.0236312035089,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.28291577154968,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.53214359689956,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,13157.6791769698,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,13256.4791914749,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,13277.6046850147,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,13345.3481228952,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,13382.1386226212,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13518.9908968688,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13620.7774588935,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,14097.3105519666,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14436.0356984683,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14767.3986061997,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,14941.6518666649,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,15146.6184956015,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,15038.1283980743,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,15240.8836845717,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15642.8270245392,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16054.0756116258,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,16382.3778661398,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16805.4821854055,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.31142559884931,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.24951298679944,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.39734631074813,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.38477179947201,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.41293358837847,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.56809181271077,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.62579423348484,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.18739562076529,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.57170504666454,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.59989239215042,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.64401077020725,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,4.85319394708437,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.12589225067727,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.37929165779787,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.65284176267709,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.01585271553297,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.3713592465603,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.57080175559912,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.88674397543264,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15019.1230588895,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14861.2387745254,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14652.580689243,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14676.0207455034,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14804.9842852465,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,15131.6127874964,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,15282.651419698,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15899.9320621657,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16839.6782260047,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17441.0522248584,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17491.2882363953,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,17819.3518796297,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,17936.7339502995,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18052.4556047478,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18332.2017393027,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,18615.5103113673,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,18939.2308145339,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20946.04921687,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21280.4721620123,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.03793024270591,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.0957211755314,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.36865660083765,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,7.62438968395399,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,7.82464096657319,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.12613719952849,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.66198721972536,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.94567035806951,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.18314214056988,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,9.20127583949544,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,9.01925906324488,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.22813114574868,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.33602731911342,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.4720813274667,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.8273197344747,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.0979251019421,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.2420715558308,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.4421335669694,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.0436853920604,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,18363.0687348551,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,18595.0490974521,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,18914.3303326905,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,19547.895315748,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,20302.9114396593,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,20811.0749115064,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,21021.7972643769,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,21062.5846278013,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,21431.276588323,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,21288.7024880211,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,21263.1341037538,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,21536.0931102924,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,21626.8842958147,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,21745.7084955593,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,21920.1313118405,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,22016.6251097894,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21994.491019678,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21860.3203739333,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21948.9566975998,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.03120301349845,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.27611361487037,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.45085460546529,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.70924665148802,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.03281245875753,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.17751781539055,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.57366523428419,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.73356675232001,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.88761574942109,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.87863330193234,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.92945428584549,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.11427392104029,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.35721933220319,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.67074153276843,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,6.03087163247948,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.45451535119875,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.79339698672049,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.79138991523297,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,8.60689491569257,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1930.2325025697,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1943.92675664181,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1943.13428526623,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,1935.08522603997,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1944.42415861344,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,1951.35008451593,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,1949.8979231494,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,1929.21348167512,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,1916.84618887962,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,1929.61466966553,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,1942.65395263556,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,1945.69179661969,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,1954.17106295411,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,1951.89262928836,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,1991.53952742409,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,2058.27188398341,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,2127.02882601935,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,2238.45929655948,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,2510.34,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.04993966511372,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.23876989743012,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.41088651621563,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,5.58835758666692,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,5.72434731456899,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,5.77359610250987,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,5.70948671569679,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,5.83884232874357,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.00622457246434,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,7.0820980140868,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,7.29328660996633,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,7.27306967157325,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.33985448629082,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.37226991063969,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.43038936628481,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.43447829527278,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.46163460735788,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.67879826431265,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.94862754354327,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2387.77990487809,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2665.69789473903,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3071.30880595328,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3421.97084596925,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3566.2135843573,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3808.15004552813,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4286.86928482215,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4693.71202171758,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4697.39516994453,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4561.81594185411,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4345.33560997953,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4361.04079571115,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4681.99690531858,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,5199.61101144777,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5740.51074410361,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6319.88436260551,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6679.52546722707,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6869.80906096899,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7254.19691114504,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,23001.0415543048,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,23253.6042688662,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,23486.4142684618,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,23337.1250103471,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,22949.7041290235,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,22946.1617310358,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,23118.6708850397,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,23193.3889201703,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,23671.039991354,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,23741.470535856,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,23363.2044324841,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,23277.2188488747,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,22990.4447847617,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,23093.4109340019,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23131.5071713558,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23505.1106036633,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,23601.9873979574,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,23617.9894987766,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,23586.2152347091,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6906.68767759998,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6777.5556581817,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7085.89373384611,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7059.66689604163,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,7118.40434147509,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7442.02006651103,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7562.37082983981,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8733.71086616761,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,9535.27052590032,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,9594.06127505659,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,9686.07960643226,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10122.375946776,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10691.1466942697,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11219.6654576927,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11790.2128192979,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,12547.3499495402,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,13288.8349999686,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,13704.8150902496,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14363.7802916167,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6843.9576600169,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7396.79909451838,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7791.22903719779,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,8373.43211883298,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9102.82839437233,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,9430.53000758399,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,10324.8122791137,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,10685.7816706839,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11033.5392994958,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11013.2618897211,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,11127.9876275844,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10676.7634995403,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,11183.9460905262,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11838.4676196761,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,12590.2896696961,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13474.7052998842,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,14182.1682032531,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16265.6182953777,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,17968.0992647248,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.8654065829815,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.9191542188788,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.94558428770686,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.99996395084692,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.03833127978471,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.09094138015422,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.12854980738623,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.12631549717911,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.26568497122919,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.32380985141966,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.36211141395381,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.42918032252918,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.54662767783267,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.6283744745423,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.69937684753221,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.84780496326402,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.93249986345851,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.002180957372,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.12420680562372,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.38929717918975,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.40677205207829,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.38198272771565,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.3826131453231,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.39426319892294,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.38857646642627,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.45581290569722,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.56084433413853,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.79314817429709,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.94852181501845,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.88951613684206,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.78455754388938,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.7742005086602,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.78472785664293,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.92170908658524,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.09095925997509,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.24132043184453,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.37304452706308,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,4.50856987120887,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.07444033138461,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.40924037882747,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.70654194875681,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.87091101767443,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.07864244175333,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.34286986551955,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.37709953842189,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.11541418627636,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.07388591585121,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.01475945837335,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.93923567812617,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.81385064462666,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.83793967414357,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.94162958434348,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.27116650799911,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.52755350881323,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.96884214268754,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.39493381919044,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.80449888793684,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,24123.1288668022,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,24075.1758367746,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,24975.9818092634,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,24939.6432955293,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,25441.0880490461,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,25294.4500416437,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,25768.5385980794,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,25439.8542080307,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,26499.8217202652,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,26341.4523210377,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,26276.6306864137,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,26074.8837295615,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,26047.8203621891,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,27167.346067303,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,27225.2642184499,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,27146.3136894698,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,27733.9587254709,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,27600.9721018888,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,28073.0703612321,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,7567.14479785996,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7850.09980423815,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,8108.05085918672,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,8374.02520463153,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,8577.65538274932,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,8651.58509575575,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,8555.45024613011,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8749.20921808629,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,9000.15241499764,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,10612.3074373738,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,10928.6426133367,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10898.4215613355,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10998.4960962368,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11047.1044085115,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11134.1592113635,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,11140.2863177791,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,11180.9790308313,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,11506.3906091839,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,11910.719643201,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.75550645763822,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.97445254586865,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.29542367947242,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.52107617166292,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.63793533357616,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.82767866460198,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.20395129589241,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.64577815792521,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.64863899414527,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.54332963853219,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.24392437484943,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.24744637874294,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.33512470323297,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.74282427436063,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.13217890972128,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.47869744715065,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.73990765122288,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.89562837997634,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.1734224687701,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,12182.6303526812,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,11793.3922119385,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,11954.5137411781,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,12003.8157877444,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,11848.6677514078,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,12180.7944694322,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,12739.2808837009,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,12515.0434880709,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,12336.0868630573,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,12010.8727768551,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,12015.2464208793,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,12305.1795847222,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,12552.693075947,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,12492.1025134965,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,13339.070080975,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13926.5200345223,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,14662.3671349648,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,15416.4875824597,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,15287.8257707071,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3046.16191002385,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3133.9203223922,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3177.07981890774,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3265.88015072215,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3328.53282901722,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3414.44351878317,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3475.85693373242,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3472.20837329066,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3699.79447489214,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3794.71063195426,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3857.25591571748,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3966.77739841928,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4158.57227660319,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4292.05537501686,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4408.00008517212,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,4650.37867243231,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,4788.68286201306,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4902.46996372372,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5101.7401439527,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3741.70619728029,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4185.88840511675,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4547.67172926675,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4782.41951452068,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5035.10279601624,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,5305.3655554335,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,5316.01500909944,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4998.19649767289,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4947.76015119637,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4875.95069549902,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4784.22658783053,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4631.94567346043,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4685.18238021687,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4835.02899390532,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5217.06809307611,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5575.90736469582,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6047.26240701779,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6565.83154309935,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7064.28719379913,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,8.39228384160948,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,8.42457817350199,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,8.51594321559797,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,9.11999329509322,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,9.51859089564316,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,9.42969189689547,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,9.96479511144548,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,9.76795239640037,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.2258777758938,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.3210477264914,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.0636999161624,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.89584569355943,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.84575885425417,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.82781892591283,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.85639054003416,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.4252581401106,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.5034279005069,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.7913777465651,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.9708533532749,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.4358190653238,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.31972589761409,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.15724953567385,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.97062929056738,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.7418938980158,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.53120100450582,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.73229104512705,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.31459080441086,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,8.17485971339832,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.50020417202655,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.24007796552402,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.07301995515997,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.95647097015367,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.82945967627817,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.82018281740692,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.72275385179474,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.56168171317743,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.38138523045639,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.25,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,11.5456716509221,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,11.6580974359845,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,11.8094984812672,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,12.018709232494,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,12.1148555513989,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.9312859021233,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,12.3243479457843,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,12.1071258506935,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,12.26497543081,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,12.2086669453833,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,12.3019030907692,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,12.4690547690565,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,12.5033772183061,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,12.5393678435849,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,12.6949399104087,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.8431052725594,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.9575540952844,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,13.1454097207364,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,13.3541234071158,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.8775577798987,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.8432365894368,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,11.2446626696605,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,11.2338804883853,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,11.4582147012411,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.3961486525056,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,11.6117393336411,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,11.4523334016652,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.9401922982468,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.8675179001281,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.8372812011371,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.7458736636241,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.7576166644306,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,12.2384542973822,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,12.2688930182244,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.2333144619974,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.4901852163501,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,12.4299987252094,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,12.5310790651417,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,22743.5521778125,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,23048.4391940075,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,22915.1041334669,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,22666.8834896264,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,22493.8774359758,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,22536.3639027401,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,22796.4965952881,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,22704.4765064287,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,23829.4490440004,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,23318.9279401725,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,23203.3868097557,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,23013.9709410724,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,23445.0125407251,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,23365.5689442845,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23235.1202057635,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23013.7825951446,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,22986.1010981751,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,22746.8140192036,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,22872.6486905378,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.87405425714203,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.41316053136487,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.26115743077778,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.23805726673063,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.36258031011641,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.54785721873086,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.44375260662408,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.42174029088868,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.40204045409171,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.33560859335582,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.40596188787934,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.84318018927591,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.98089815301839,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,4.13232620546538,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.25897780039645,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.48805540639994,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.97730940068712,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.23170288363684,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.53337270701426,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.08050718154839,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.58357123555828,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.75653941186517,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,8.20073327717058,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.57818041609174,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.76017049451767,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.99421701730435,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.98188577693049,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.09281945849106,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.99421701730435,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.86580307970298,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.84686857563828,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.80437425856102,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.87600167863222,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.10460058978945,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.9090203682993,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.96893253295641,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.1628481306162,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.4702455478891,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.08507419964811,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.01059436049293,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.91216264708425,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.92322018600965,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.98405704343112,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,7.13813975286005,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,7.20939024544643,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.50058428765131,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,7.94389720768846,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.22758749951918,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.25128567868969,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.40604539704398,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.46141884841949,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.51600902023293,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,8.64797558796229,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,8.78162268883516,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,8.93433358785972,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,9.88102383269093,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.038783468264,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,4.02159784320678,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,4.08733121083565,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,4.14925972011324,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.23840089298713,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.32069578733025,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.4461350560626,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.55252521131259,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.64315465714324,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.85055998425748,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.71356069671767,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.59894074760631,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.68212809017775,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.59421267028433,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.64196644847617,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.70630968657487,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.73716588039429,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.69572720599019,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.6727497301904,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,4.03010939508058,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,9.39393599909283,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,9.51260944691074,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,9.67597345778544,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.0000836217967,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.3863242818048,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.646283353423,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.7604888989701,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.779073399945,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.969769619555,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.8905795084112,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.8825379415323,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.0171238632723,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.0635698406883,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.1244077946315,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.2135854131937,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,11.2629484819229,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.2516256781983,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,11.1829888929971,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.2283325646273,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.747606171496,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.8663450129149,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.9745755226233,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.904876328624,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.7238438837069,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.7227386896014,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.8025067629491,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.837570430765,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.0611001756199,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.0939035403273,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.9169108483974,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,10.8770942942491,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,10.7426819136013,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,10.7908886050074,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.8085494899635,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.9832038829929,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.0288566874021,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,11.03616949426,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.0214369478035,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15466.5036558735,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15225.0298670373,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14887.0790342016,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14498.9089243802,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14023.1393078729,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13584.8980893721,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13994.7808355663,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15206.274324884,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16995.6048443858,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17680.4246778152,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17139.3621682899,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,16791.8815067327,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,16549.4596179196,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,16285.2761266586,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,16265.9802602064,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16063.3280117331,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,15728.2979634091,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,15353.2812793493,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,15080,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,5969.47660505483,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7088.59923440264,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,6772.91262882196,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,6725.68393742875,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,6984.52758007782,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7368.85326515686,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7153.24933616947,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,7106.09721809838,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,7065.96637523769,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6927.25872225061,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,7073.39766375652,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7982.48481524645,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,8268.34374417102,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,8583.17414436703,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8884.62256374093,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9355.38310066467,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,10511.8468771164,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,11049.2283832452,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,11544.5395567579,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.22073223985072,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.14482633390644,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.04450994675144,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,7.05577920456896,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,7.11778090636853,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,7.27481384014251,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,7.34742856716248,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.64419810681044,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,8.09599914711763,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.38512126195116,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.40927319057468,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.5669960959758,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.62342978379785,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.67906519459027,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,8.81355852851093,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,8.94976457277272,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.10539943006439,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.070215969649,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.2309962317367,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.62124809847275,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.59093616738416,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.66331420765358,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.65715782518715,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.67094561698596,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.7469098712481,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.77516052558554,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.05011617657299,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.23827106858711,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.25207137268751,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.2736713858532,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.37608583474264,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.50959679337942,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.63365916310052,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.7675871569913,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.94531448302481,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.11936770276889,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.21701319679605,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.37169603892614,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,13002.7877201725,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,13100.4246664821,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,13121.301471904,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,13188.2474378564,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,13224.6048418957,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13359.8460988933,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13460.4344352535,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,13931.3578076452,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14266.0955008362,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14593.5576231163,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,14765.7595840322,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,14968.313357379,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,14861.1003991579,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,15061.4688618639,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15458.6805475145,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,15865.0879394403,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,16189.52543834,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16607.6489974345,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14736.9543352681,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14582.0362698253,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14377.2983059352,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14400.2979869001,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14526.8386503367,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,14847.3306859489,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,14995.5317105286,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15601.2153183147,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16523.306191992,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17113.3819989999,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17162.6742116746,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,17484.5744258515,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,17599.7512047125,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,17713.2987620845,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,17987.7892229616,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,18265.7751927771,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,18583.4138627482,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20552.5295719971,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20880.6696139892,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,17455.9503905477,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,17523.1226008841,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,17713.1618884438,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,18969.5860537939,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,19798.6690629378,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,19613.7591455426,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,20726.7738318066,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,20317.3409845128,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,21269.825773859,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,21467.779271102,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,20932.4958256179,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,20583.3590426036,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,20479.1784168487,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,20441.8633658987,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20501.292323271,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,21684.53693143,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21847.1300330544,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,22446.0657128554,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,22819.3749748118,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,21503.4358918372,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,21715.2672684955,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,21998.6084725614,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,22384.7140081338,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,22566.2196534044,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,22220.8025358654,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,22957.7507616892,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,22555.6680367786,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,22845.8337484172,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,22731.0488525345,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,22903.0456022785,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,23214.9749398414,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,23283.7668809546,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,23356.4926673246,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23641.3953978696,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23915.4195797544,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,24128.7310458395,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,24481.1931444895,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,24874.8720543001,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1065.76575590321,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1073.32695229964,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1072.88939420573,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,1068.44515669592,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1073.60158967497,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,1077.42569617248,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,1076.62389439242,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,1065.20310991494,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,1058.3745868551,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,1065.42462334469,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,1072.62418155983,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,1074.30150804032,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,1078.98328170353,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,1077.72525886181,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,1099.61604471512,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,1136.46189636095,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,1174.42561016485,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,1235.95124477505,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,1386.07,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,4.59593997729253,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,4.55117328681176,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,4.5061633471769,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.45985045589693,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.70547745675544,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.89638503475228,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,5.02607993549742,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,5.08143631177818,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,5.29844002104165,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.27929168508674,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.18800657577879,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.0641377568568,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.01697087870331,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.0245514352055,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.07314867185557,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.14188186704521,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.4443982309818,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.5688914628187,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.76162798507964,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.95704339080225,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.16892559421861,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.37267227437535,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.40041944510162,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.58488635188267,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.54549444427048,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.51601483896385,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.44386966745801,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.55770865465465,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.60120938477891,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.73931643798819,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,4.86789112332692,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,4.95762268130146,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.02092433473243,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.38649016823951,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.46371128046396,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.27640155319366,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.16012097345314,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.74117553449225,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14646.6026771932,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14754.4529733027,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,15319.6039437915,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,15849.8010772287,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,16276.7531416479,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,16893.9812652102,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18016.9334170288,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18610.9331666188,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19093.2212195694,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19134.8833257908,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,18756.4344197774,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,19187.3399457943,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,19415.3906336858,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,19793.0120484333,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20433.8391198032,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20996.7431399271,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21296.693894082,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21716.2839530488,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,22475.8038565311,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2373.16738032062,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2543.21288427981,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2706.72924548729,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3531.54502883725,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3679.58845873183,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3647.97458709077,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3624.31580754224,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3566.41589028102,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3657.77706944536,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3692.68846576512,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3803.52591735204,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3906.71319222598,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,3978.72701760064,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4029.52959273701,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4322.91348900894,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5187.43445372505,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5037.10952573878,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4943.7888529129,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5410.11265956845,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14727.4549376207,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15754.7315256877,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,16114.7543108189,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,17048.2346254383,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,17842.6152654708,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,18203.3952186274,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18715.9810883276,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18691.0301688333,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,18905.1576741323,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,18716.6107811212,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,18432.5540745852,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,18394.5365605415,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,18313.6646555084,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18455.3846223636,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18937.5692267621,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20610.7623660625,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20721.4258464305,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21132.1674354684,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21764.4426850764,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,13853.750362131,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14080.7826943345,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14297.3702553614,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14606.4120642844,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14890.0131975384,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,15320.2986823182,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,15688.5943462051,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15997.4877053082,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16712.083040128,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,16241.6873268234,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,15844.4149087883,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,13073.9225156983,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,12761.1743192572,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,12930.7230754974,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,13159.1723501971,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13268.7265987295,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,13121.5994818502,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,13040.0184511778,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14307.4389126499,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.927996395466202,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.934580171462411,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.934199175608766,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.93032943559614,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.93481930702569,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.938149079094195,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.937450924591057,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.927506481574575,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,0.921560667730587,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,0.927699360416118,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,0.933968246459403,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,0.935433898705191,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,0.939505318727938,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,0.938409917927095,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,0.957477891844078,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,0.989553790376641,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.0226100125093,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,1.07618235411513,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.207,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,10532.7313015229,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,10926.57721464,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,11285.6200535567,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,11655.8305343263,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,11939.2639835716,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,12042.16697051,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,11908.356588012,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,12178.0502761057,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,12527.3388566229,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14771.3022167387,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,15211.6100869647,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,15169.5453149956,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,15308.8393571208,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,15376.4974112333,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15497.6692496797,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,15506.1975872832,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,15562.8378953464,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16015.779236995,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,16578.5660193902,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.38004982385761,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.54917357678134,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.84175766933939,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.99904275955845,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.1326505243682,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.28824437705802,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.49626659315421,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.61296198267158,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.87172132464488,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.99010795169149,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.0814347782703,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.17952655496607,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.21939343643947,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.37147571546536,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.59442567494858,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.75116629341574,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.83233790882326,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.96413564243702,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.2254986097511,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.53239624220429,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.53438340943702,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.46123441219379,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.25326433507919,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.25571075640232,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.31661305211076,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.59980550572388,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.87025537205181,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.11095082965465,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.29239021256937,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.40055548517965,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.59351421061352,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,8222.03286984105,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,8886.19250847183,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,9360.04347521666,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,10059.4769188355,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,10935.7418594648,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,11329.4283153392,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,12403.7801153787,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,12837.4330322919,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,13255.21391243,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,13230.8535148405,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,13368.680023213,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,12826.598993969,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,13435.9060851656,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,14222.2197641832,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15125.4260542585,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16187.9245008065,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,17037.839642695,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,19540.8059074043,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21586.092448557,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14218.3941550183,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,13764.1128426063,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,13952.1583913316,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14009.6989971315,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,13828.625134661,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,14216.2514887055,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,14868.0631039654,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,14606.3547878578,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14397.4938311158,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14017.9352359255,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,14023.0397324774,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,14361.4218291831,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,14650.2957648634,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,14579.5802893007,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15568.0793541415,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16253.6944260989,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,17112.5043718193,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,17992.6412102879,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,17842.4795211258,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.45917257820882,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.2830985118391,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.35564375784123,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,5.3777311637917,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,5.30822456316057,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,5.4591117035315,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,5.70779583283734,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,5.60890053989004,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,5.52699241296412,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.38128528500841,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.38436364623728,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.51262161717175,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.62438495961035,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.59723663007826,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.97639066824322,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.23937493894959,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.56874047646421,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.90833169968711,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.85067664253386,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.2078559687969,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.3441522680828,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.2847947112559,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.1729990453,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.0954382514188,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.1145065291295,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.2312562332331,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.1899568562087,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.6948538362835,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.4657277421092,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.4139447824368,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,10.3290022057337,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,10.5221754262269,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,10.4865209578496,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.427975264668,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.3289462184162,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.316619002346,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.2090236157067,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.2653695153324,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3319.22876374919,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3611.13251503149,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3729.09947908677,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3764.0464824747,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3910.6626135171,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,4012.23024614117,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4263.31716371614,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4273.75917793596,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4622.3807495487,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4767.59342424454,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4726.44734440642,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4708.72708396459,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4792.71165773087,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4999.46822129587,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5414.76307386146,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5801.16413160268,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6150.19279211733,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6619.9906108001,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,6985.52295147301,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,4377.05744027963,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4503.1582921549,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4565.17456079789,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4692.77255609438,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,4782.79875292341,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,4906.24459557615,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4994.49008375983,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4989.24743445241,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,5316.26795034849,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,5452.65382993827,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,5542.52571059877,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,5699.89811393455,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,5975.48989905928,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,6167.29296347962,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,6333.89496010237,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6682.17093165879,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6880.90146532944,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,7044.40317497645,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7330.73628882931,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.69679632286634,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.72641435052733,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.81020776520621,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,8.36419885016391,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.72976376718984,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.64823202927659,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,9.13899003172669,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.95846011711269,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.37843618602933,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,9.46571918784765,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,9.22969837186706,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.07575460784625,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.02981857805215,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.0133653720958,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.03956919201632,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.56129344909608,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.63298510487573,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,9.89707189675973,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.0616739545356,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.8834311396918,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.9894083688255,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,11.1321253021172,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,11.3293360728286,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,11.4199675988909,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.2469271991954,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,11.6174438581781,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,11.4126812609539,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.5614768518531,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.5083981274401,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.5962864026932,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.7538505388929,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.7862043095741,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.8201305724836,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.9667792844623,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.1064461280215,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.2143303567442,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,12.3914108961555,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,12.5881531128321,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,6.32580729662008,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,6.37330730359372,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.38346379087246,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.41603275139191,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.43372049164482,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.49951485426385,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.54845070139109,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.77755314998394,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.94040177810974,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,7.09971086836525,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,7.18348647435812,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,7.28202812288535,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.22986942215111,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.32734792527483,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.52058991564382,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.71830558251239,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.87614320487492,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,8.0795587429834,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6167.54764367326,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6609.47338222738,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7034.43074369717,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,9178.01769978337,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9562.76296249814,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,9480.60269804986,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,9419.11666412459,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,9268.64244926958,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,9506.07805113684,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,9596.80814539601,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,9884.85999923251,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10153.0300572247,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10340.1844495716,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,10472.2136124419,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11234.6794937567,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13481.4549563963,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,13090.7803823753,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,12848.2523160594,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14060.1661147981,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.53144213460474,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.81870534869438,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.73771037365132,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.7254014325622,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.79175363690779,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.89047858746026,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.83500636073009,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.82327708049342,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.81278000652875,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.77738173582515,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.81486954569298,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.04784167108523,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.12122479941104,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.20191335958772,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.26939976434516,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.39146395191447,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.65216333833459,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.78771711140269,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.94846212069084,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,21289.9167678296,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,21575.3171814342,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,21450.5041214975,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,21218.1482957185,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,21056.1997815306,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,21095.9707607559,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,21339.4772864577,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,21253.3385858067,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,22306.4094299627,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,21828.5178621135,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,21720.3614479085,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,21543.0519385036,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,21946.5438692421,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,21872.1778448527,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,21750.0666300404,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,21542.8756305507,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21516.9633736666,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21292.9701313141,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21410.7621832446,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.69482296793748,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.78790534621781,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.87559981760804,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.00182904749701,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.11836353769743,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.29599304131996,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.44664786144414,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.57498457481284,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.86868291725598,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,6.67468373591301,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,6.51237503568188,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.2141135032317,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.08962001284191,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.15724221761109,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.24835608937103,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.29205030448575,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.23337066421392,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.20083318482599,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.70687583423428,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.00898316411925,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.50696549711052,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.67818642868767,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,8.11789325246492,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.49152759449871,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.67167929310135,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.90336158587656,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.89115491000476,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.00096799068604,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.90336158587656,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.77624482663764,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.75750159019885,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.71543653111079,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.78634040402495,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.0126301144305,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.80892401540316,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.86823097500937,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.0601877267516,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.3644799571125,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,6.37142105031179,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,6.1659243387112,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.25059217085174,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.2763704662259,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.19524904863883,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.37135000324468,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.66159019507565,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.54616912306625,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.45057383703874,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,6.2805184945967,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,6.28411126167873,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,6.43380162668827,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,6.56424104813263,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,6.53255612962464,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,6.9750682476181,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.28199818879047,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.66640195857503,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,8.0627401649875,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.99545072880637,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,5014.49795303911,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,5455.48917945766,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,5633.70681430163,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,5686.50271643033,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5908.00184810336,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,6061.44432590147,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6440.77185161031,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6456.54703996211,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6983.22425375642,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,7202.60312512869,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,7140.44201849536,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7113.67127865262,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7240.55029278907,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7552.90609546746,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8180.30942808549,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,8764.06169435197,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9291.35391440545,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,10001.0971613476,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,10553.3221824406,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.9048291443177,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,11.0504314981577,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.987021119171,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.8675922557496,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.7847357569747,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.8051059807658,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.9298271347272,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.8857079140411,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.4250783087673,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.1803079165211,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.1249893139133,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.0342470180917,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.2406097421716,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.202520853861,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.1399777710401,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,11.0341872080656,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.0210183129047,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.9060765159588,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.966269607464,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,24210.5442708575,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,24476.3879183122,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,24721.4401603423,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,24564.3005723712,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,24156.5072828111,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,24152.7786089115,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,24334.3591038765,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,24413.0061639711,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,24915.7743702548,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,24989.908483341,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,24591.7513729236,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,24501.2442637688,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,24199.3902734376,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,24307.7708660596,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,24347.8703823721,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,24741.1196365969,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,24843.0906674103,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,24859.9342337938,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,24826.4891297944,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,12156.6467706118,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,12033.1830495673,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,11915.9385764689,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,11802.8344146831,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,12444.740773689,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,12956.2936018609,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13297.1095700918,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,13434.6870276649,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14012.4298632846,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,13969.8286248906,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,13710.3034138024,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,13382.9562784193,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,13277.3135539801,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,13297.3753458515,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,13432.6017767841,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13594.3554505089,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,14404.5711425066,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,14731.7883338126,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,17891.7040712147,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.30540288965031,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.36539013491982,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.64869832013332,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,7.91415039765477,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.12201211953225,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.43496655009557,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.99118125398844,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,9.28564561313043,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.53214237940438,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,9.55096523952979,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,9.36203101635192,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.57884116684637,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.69083787461396,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.83206254031772,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.2008015865395,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.4816911613545,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.6313158215112,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.8389810787501,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.4633945482994,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.52315034635712,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.72701206921971,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.87246514147484,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.08754871638384,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.35688243472794,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.47733407359292,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.8070841737145,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.94018498181559,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.06841419597929,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.06093727497089,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.10324027565796,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,4.25708273506391,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,4.45930864853517,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,4.7202821450064,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.02005170243068,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.37268951351047,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.65477201086648,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.48549373818886,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.16431390140544,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.62808312226162,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.76374648148404,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.88740209740958,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.01490457032864,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.11260515079514,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.14798749358916,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.10192868898959,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.1948630501082,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.31511729742224,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.08806876498241,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.23979528671055,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.22527061159919,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.27325155299024,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.29654011914749,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.33829551229758,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.34123316605845,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.36074337094653,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.51676262084157,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.71061900701417,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,11.6319201795456,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,11.5952188026374,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,12.0244839205648,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,12.0129539912837,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,12.2528458595026,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,12.1864755087897,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,12.4170174783351,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,12.246556689764,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,12.768248769801,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,12.6905343770009,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,12.6582007524619,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,12.560454070562,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,12.5730114525418,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,13.0871953418842,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,13.1197449985597,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,13.0816990571352,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,13.3563838872734,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,13.2920234421255,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,13.4001137386429,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,4.72679414819645,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,4.75116501995629,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,4.7165932408705,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.71747243620224,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.73371987697551,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.72578902510076,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.81955855633067,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.96603787492846,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,5.29001431435286,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.50670207494672,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.42441135814944,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.27803361764978,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.26358945093151,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.27827113985107,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.4693084086039,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.70534871043179,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.9150459632051,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.09875150731569,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.2877583632426,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.29820788447843,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.33561292278511,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.35400661993024,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.39185151020122,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.41855280384296,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.45516618760926,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.4813393324887,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.47978439044351,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.57677694515951,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.6172282754143,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.64388379969695,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.69055962185297,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.77229573453593,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.8291864611944,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.87859973188462,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.9818965422847,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.04083896706797,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.08933270904512,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.17425517032289,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6148.88066276921,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6878.82129533331,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7473.35287229016,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7859.12236921779,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,8274.36591359935,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,8718.49844769712,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,8735.99907876302,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8213.71646325427,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,8130.83259712507,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,8012.82553022539,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,7862.09199792332,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7611.84328241496,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7699.32908153038,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7945.57742298489,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8573.3960451473,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9163.08955446357,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9937.68428537509,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,10789.8676383809,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,11608.9977758737,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.4358190653238,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.31972589761409,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.15724953567385,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.97062929056738,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.7418938980158,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.53120100450582,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.73229104512705,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.31459080441086,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,8.17485971339832,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.50020417202655,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.24007796552402,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.07301995515997,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.95647097015367,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.82945967627817,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.82018281740692,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.72275385179474,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.56168171317743,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.38138523045639,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.25,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,7069.10554516719,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7105.55313719186,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7053.84968923551,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7055.16456024533,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,7079.46324346785,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7067.6023442605,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7207.83834616848,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,7426.90389691751,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,7911.42333496251,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,8235.48835703849,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,8112.41937112773,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7893.50573439785,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7871.9039180627,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7893.86095814096,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8179.56466630636,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,8532.57217080518,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,8846.18261499002,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9120.92144216015,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,9403.58858852135,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.0175642708677,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.96854409238371,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.2131191736862,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.0392229994977,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.2879737057751,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.5019373410158,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,11.4456534973466,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.7264689914379,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,11.5268053960492,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.8124152468846,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20365.1188941875,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20265.4637548695,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20768.2160934596,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20414.6009772591,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20916.2677604682,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23382.7620297357,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23268.3402863705,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,23845.5889807791,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,23439.5762216494,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,24015.5785062886,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.670945615936997,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.698350840533657,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.718037257214525,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.74193480428324,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.785591317013957,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.887756841748465,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.945396062735468,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.982654239286588,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.05516025170082,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.11171960463942,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.11237532402136,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.20629844255539,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.2380891904161,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.24339441045361,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.24122622857821,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.27473963929831,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.31208853277217,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,1.28866608495377,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.29958810326151,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.09287355680704,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.13751271170817,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.16957904273078,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.20850469727504,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.27961485465968,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.44602774677424,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.53991371749287,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.60060190884605,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.71870373676601,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.81083075831363,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.81189883053318,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.9648860327453,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.01666857198966,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.02531000961787,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.0217783543217,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.07636686269619,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.13720281882145,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.099051032375,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.11684142359593,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1574.32596310931,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1638.63036510933,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1684.82313567837,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,1740.89702290746,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1843.33391170775,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,2083.05801795979,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2218.30433291858,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,2305.72798289746,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,2475.85816202657,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,2608.57064374321,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,2610.10924243583,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,2830.49313128174,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,2905.0878503692,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,2917.53617024293,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,2912.44868634245,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,2991.08551078211,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,3078.7220215404,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,3023.76292076653,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,3049.39065658147,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2564.34973865081,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2669.09232711525,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2744.33368240759,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2835.6699503918,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3002.52485539789,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3393.00082010955,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3613.29754426005,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3755.69805039949,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4032.81555376882,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4248.98502932877,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4251.49118450106,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4610.4647268345,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4731.9687564186,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4752.24527256765,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4743.95849567628,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,4872.04653139785,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5014.79375702034,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4925.27331525134,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,4967.01719750903,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.107476690296865,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.148514198737765,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.159243742310737,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.17674699880008,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.193448437945993,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.262206632946337,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.502948200115317,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.440754370781396,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,0.743204532062821,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,0.695562714251186,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,0.665705798555659,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,0.650060580617089,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,0.687379280618673,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,0.680249910096787,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,0.632250151008714,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,0.614422504073155,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,0.730714633217526,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,0.984630400215344,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.00248653012728,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.258347900136057,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.356992118740466,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.382783339551592,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.424856923573155,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.46500313314361,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.630281159908474,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.20896550701461,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.05946662343848,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.78648346631894,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.67196408954707,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.60019530458381,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.5625879946598,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.65229309959545,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.63515582174912,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.51977604095025,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.4769227009614,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.75646077832324,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.36681270704499,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.40973451320187,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,224.165668333462,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,309.758185938768,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,332.136948248108,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,368.643740354453,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,403.478170573071,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,546.888120145216,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,1049.0062459548,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,919.287687629769,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,1550.11230973103,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,1450.7450897239,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,1388.47209413038,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,1355.84063957279,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,1433.67678529038,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,1418.80695534473,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,1318.69317210389,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,1281.50979420972,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,1524.06194928227,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,2053.65769187772,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,2090.9004771226,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,538.839905998062,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,744.5835619444,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,798.376679636177,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,886.130154881153,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,969.863677699529,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,1314.58641923767,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2521.55662891618,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,2209.74467174311,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3726.09408689379,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3487.2393867696,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3337.55020670337,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3259.11210314759,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,3446.21132201337,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,3410.46785679103,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,3169.81859969624,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,3080.43877629092,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,3663.47533764561,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4936.49507469384,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5026.01769896389,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.28751784163211,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.28390356821712,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.32429879093362,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.45112851669084,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.54205401861589,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.657989124819,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.77079091721849,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.97007867105563,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.88609023246438,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.86153264032218,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.78769587338855,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.7805934635013,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.82228867654381,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.91937306247073,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.39654450599499,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.71520575230455,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.72951893563078,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.80674223846501,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.79501968036755,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.26974399216473,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.26337244910376,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.33458452175101,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.55817055586797,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.71846162528517,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.92284171407052,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.12169813557037,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.47301923370012,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.32495739895139,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.28166522433101,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.15149960430663,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.13897888292305,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.21248268709969,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.38363115166101,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.22482882842394,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.7865914898485,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.81182396493581,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.94795965330882,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.69017767454161,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2625.92571653032,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2618.55431304361,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2689.66111026828,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2942.84804084157,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3113.76292220515,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3287.39223024456,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3514.54685860159,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3899.5371633266,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3733.29200652744,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3684.68316434906,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3538.53203804743,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3521.85654929474,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4246.1095375778,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4279.71420314052,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4617.62801332925,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5344.98930116582,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5364.9165286536,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5498.92356923758,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7455.70238089907,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,4629.20118560079,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4616.20625983218,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4741.55926123074,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,5187.8983300819,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5489.2013587489,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,5795.28960548465,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6195.73675762058,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6874.42982340642,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6581.35897524398,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6495.66724816034,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6238.01983532859,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,6208.6228909221,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7485.3965524653,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7544.63766377525,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8140.34035289148,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9422.59358451075,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9457.72296556349,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9693.9617697479,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,13143.5349004269,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.704409123305124,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.752831914421804,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.860661708498188,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.962197926457369,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.938842412193203,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.02876753127376,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.3406872048903,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.72877219084003,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.93773702862106,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.89465857233822,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.03574342810061,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.98294085306947,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.94914195895504,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.18249832979605,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.44370927833623,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.50430673287525,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.52823206832572,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.81783220486656,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.76955006374259,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.09892394724577,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.17446664394016,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.34268812065972,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.50109121019463,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.46465509221151,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.60494411395626,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.09155904782591,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.6969968119276,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.02299552030951,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.95579033279367,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.1758918639373,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.09351642009624,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.04078795179006,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.40483903471232,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.81234506655747,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.90688102830454,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.94420610431868,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.39600111185227,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,4.32067783827444,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1469.19617146497,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1570.19227865119,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1795.09442058194,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2006.8699608968,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1958.15703114582,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,2145.71513665671,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2796.29045591406,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3605.72485518063,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4041.56580255249,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3951.71645087686,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4245.97915003841,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4135.84806497347,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4065.35322867765,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4552.06794500319,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5096.87935195843,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5223.26832856837,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5273.16974250794,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5877.19288443596,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5776.49013294883,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2292.04137568403,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2449.6018573609,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2800.46379451884,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3130.84738126308,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3054.85204946972,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3347.45486625164,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4362.39458546547,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,5625.16477916329,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6305.10494235984,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6164.93412268394,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6624.00303049781,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,6452.19139048644,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,6342.21487087642,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7101.52141525713,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,7951.4625673913,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,8148.6375733209,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,8226.48701757896,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9168.80231900616,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,9011.69949125813,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.937239105052945,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.952132723434157,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.954911193413492,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.972314567045279,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.98631668419154,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.01141439394869,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.01863863355754,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.01303519216411,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.04676634418184,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.06080290962173,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.06677696740439,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.09406746198832,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.11557166405561,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.13289121390241,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.12870493665536,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.12330497658922,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.15225159867413,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,1.18193646104095,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.21018681378416,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.08491356158532,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.11804481568756,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.12422559678082,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.16293986884504,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.19408795450616,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.24991848393596,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.26598899897469,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.25352399309761,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.32855984671331,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.35978456352883,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.37307401551777,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.43378245368861,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.48161912874779,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.52014693255096,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.51083444637975,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.49882209018032,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.56321462845742,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.62924940206931,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.69209307049538,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2736.7381867546,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2780.22755242774,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2788.3406847674,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2839.15853577221,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,2880.0447178393,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,2953.33003033017,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2974.42480998802,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,2958.0627611192,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3056.55772501098,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3097.54449609546,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3114.98874482083,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3194.67698900589,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,3257.46925904239,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,3308.04234459504,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,3295.81841503366,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,3280.05053164051,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,3364.57466812845,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,3451.25446623958,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,3533.74549624976,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6087.94759982913,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6184.69086180767,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,6202.73874259998,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,6315.78441702751,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,6406.736827158,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,6569.761973093,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6616.68787700609,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6580.29005984502,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6799.39475240287,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6890.57092550418,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6929.37612531189,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7106.64476477074,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7246.32785594355,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7358.82904304881,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,7331.63658342886,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,7296.56050332654,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,7484.58671509567,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,7677.4082540424,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7860.91176584652,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.82120793677112,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.79848109666932,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.81176692651271,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.79098838472673,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.80441191603866,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.82397177308357,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.84002874706104,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.87713914983963,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.89984152516597,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.96728984036142,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.99249629188157,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.02623997729412,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.04369364020009,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.0349675840473,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.15634892866902,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.21723242152862,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.18176299212972,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.186220126601,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.19867730805727,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.86540629183495,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.82964890833888,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.85055223280659,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.81786021386323,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.83898019160067,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.86975478702839,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.89501810448594,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.95340593569803,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.98912482742164,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.09524495946836,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.1349036515498,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.18799444175481,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.21545524647489,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.20172606393715,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.3927019879753,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.48849332513478,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.4326873273048,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.43969998132398,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.45929954785487,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,4938.0752342737,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4876.45303068339,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4912.4766093159,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4856.13707744476,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,4892.53402377339,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,4945.56917901803,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4989.10651703121,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,5089.72872342232,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,5151.28459252146,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,5334.16588143709,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,5402.51137427318,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,5494.00496700605,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,5541.32932728538,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,5517.66924931681,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5846.78609516257,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6011.86733723045,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5915.694512946,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5927.77971469813,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5961.55647241815,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,7769.34448843249,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7672.3908971817,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7729.0687683813,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7640.42669416059,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,7697.69200522581,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7781.1351225427,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7849.63480330617,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8007.94923707838,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,8104.79846063753,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,8392.53561867278,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,8500.0673294879,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,8644.01921492947,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,8718.47722544192,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,8681.25152764673,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,9199.06910453874,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9458.80047300832,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9307.486496035,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9326.50080650415,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,9379.64363118364,, diff --git a/Resources/.ipynb_checkpoints/annual_wages-checkpoint.csv b/Resources/.ipynb_checkpoints/annual_wages-checkpoint.csv deleted file mode 100644 index 8dd781c..0000000 --- a/Resources/.ipynb_checkpoints/annual_wages-checkpoint.csv +++ /dev/null @@ -1,181 +0,0 @@ -LOCATION,INDICATOR,SUBJECT,MEASURE,FREQUENCY,TIME,Value,Flag Codes,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUS,AVWAGE,TOT,USD,A,2015,54773.99376,,,,,,,,,,,,,,,,,,,,,,,,,,PRT,SVK,ESP,SWE -AUS,AVWAGE,TOT,USD,A,2016,54799.8626,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUS,AVWAGE,TOT,USD,A,2017,54327.04477,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUS,AVWAGE,TOT,USD,A,2018,54147.4705,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUS,AVWAGE,TOT,USD,A,2019,54401.4253,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUT,AVWAGE,TOT,USD,A,2015,53052.21668,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUT,AVWAGE,TOT,USD,A,2016,53589.1886,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUT,AVWAGE,TOT,USD,A,2017,53436.61223,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUT,AVWAGE,TOT,USD,A,2018,53560.92351,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -AUT,AVWAGE,TOT,USD,A,2019,53902.94904,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -BEL,AVWAGE,TOT,USD,A,2015,54737.03878,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -BEL,AVWAGE,TOT,USD,A,2016,54883.6518,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -BEL,AVWAGE,TOT,USD,A,2017,54626.06533,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -BEL,AVWAGE,TOT,USD,A,2018,55065.81147,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -BEL,AVWAGE,TOT,USD,A,2019,55590.13046,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CAN,AVWAGE,TOT,USD,A,2015,52693.64729,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CAN,AVWAGE,TOT,USD,A,2016,51562.73934,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CAN,AVWAGE,TOT,USD,A,2017,52219.39272,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CAN,AVWAGE,TOT,USD,A,2018,52831.4837,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CAN,AVWAGE,TOT,USD,A,2019,53198.17296,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CZE,AVWAGE,TOT,USD,A,2015,24969.52644,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CZE,AVWAGE,TOT,USD,A,2016,25819.17199,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CZE,AVWAGE,TOT,USD,A,2017,26888.62221,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CZE,AVWAGE,TOT,USD,A,2018,28360.36471,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CZE,AVWAGE,TOT,USD,A,2019,29280.78997,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DNK,AVWAGE,TOT,USD,A,2015,55942.62512,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DNK,AVWAGE,TOT,USD,A,2016,56883.11049,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DNK,AVWAGE,TOT,USD,A,2017,56277.32497,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DNK,AVWAGE,TOT,USD,A,2018,56827.52767,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DNK,AVWAGE,TOT,USD,A,2019,57149.59431,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FIN,AVWAGE,TOT,USD,A,2015,44616.268,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FIN,AVWAGE,TOT,USD,A,2016,44975.60703,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FIN,AVWAGE,TOT,USD,A,2017,44864.41587,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FIN,AVWAGE,TOT,USD,A,2018,45023.39388,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FIN,AVWAGE,TOT,USD,A,2019,45697.55615,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FRA,AVWAGE,TOT,USD,A,2015,45087.62571,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FRA,AVWAGE,TOT,USD,A,2016,45610.18378,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FRA,AVWAGE,TOT,USD,A,2017,46162.80625,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FRA,AVWAGE,TOT,USD,A,2018,46256.36191,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -FRA,AVWAGE,TOT,USD,A,2019,46480.6154,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DEU,AVWAGE,TOT,USD,A,2015,50878.09477,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DEU,AVWAGE,TOT,USD,A,2016,51622.98488,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DEU,AVWAGE,TOT,USD,A,2017,52181.30995,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DEU,AVWAGE,TOT,USD,A,2018,52929.5536,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DEU,AVWAGE,TOT,USD,A,2019,53637.8016,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GRC,AVWAGE,TOT,USD,A,2015,27448.75013,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GRC,AVWAGE,TOT,USD,A,2016,27394.53173,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GRC,AVWAGE,TOT,USD,A,2017,27321.80061,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GRC,AVWAGE,TOT,USD,A,2018,27479.68523,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GRC,AVWAGE,TOT,USD,A,2019,27459.1259,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -HUN,AVWAGE,TOT,USD,A,2015,21449.78557,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -HUN,AVWAGE,TOT,USD,A,2016,21810.41182,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -HUN,AVWAGE,TOT,USD,A,2017,23527.36545,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -HUN,AVWAGE,TOT,USD,A,2018,24702.95934,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -HUN,AVWAGE,TOT,USD,A,2019,26223.19671,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -IRL,AVWAGE,TOT,USD,A,2015,48407.79125,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -IRL,AVWAGE,TOT,USD,A,2016,49030.4212,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -IRL,AVWAGE,TOT,USD,A,2017,49585.17818,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -IRL,AVWAGE,TOT,USD,A,2018,49695.39773,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -IRL,AVWAGE,TOT,USD,A,2019,50490.47141,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ITA,AVWAGE,TOT,USD,A,2015,38691.17743,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ITA,AVWAGE,TOT,USD,A,2016,38982.24797,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ITA,AVWAGE,TOT,USD,A,2017,38706.95871,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ITA,AVWAGE,TOT,USD,A,2018,38852.72523,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ITA,AVWAGE,TOT,USD,A,2019,39189.36576,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -JPN,AVWAGE,TOT,USD,A,2015,37225.93188,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -JPN,AVWAGE,TOT,USD,A,2016,37896.31241,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -JPN,AVWAGE,TOT,USD,A,2017,38084.71057,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -JPN,AVWAGE,TOT,USD,A,2018,38193.16835,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -JPN,AVWAGE,TOT,USD,A,2019,38617.46549,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -KOR,AVWAGE,TOT,USD,A,2015,37512.83565,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -KOR,AVWAGE,TOT,USD,A,2016,38617.35471,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -KOR,AVWAGE,TOT,USD,A,2017,39551.53296,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -KOR,AVWAGE,TOT,USD,A,2018,40820.34833,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -KOR,AVWAGE,TOT,USD,A,2019,42284.78911,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LUX,AVWAGE,TOT,USD,A,2015,68381.61077,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LUX,AVWAGE,TOT,USD,A,2016,68503.77293,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LUX,AVWAGE,TOT,USD,A,2017,69541.03065,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LUX,AVWAGE,TOT,USD,A,2018,69556.26185,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LUX,AVWAGE,TOT,USD,A,2019,68680.52973,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -MEX,AVWAGE,TOT,USD,A,2015,17101.81793,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -MEX,AVWAGE,TOT,USD,A,2016,16981.33584,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -MEX,AVWAGE,TOT,USD,A,2017,16984.11528,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -MEX,AVWAGE,TOT,USD,A,2018,17180.80319,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -MEX,AVWAGE,TOT,USD,A,2019,17594.46105,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NLD,AVWAGE,TOT,USD,A,2015,57378.21452,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NLD,AVWAGE,TOT,USD,A,2016,57573.20166,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NLD,AVWAGE,TOT,USD,A,2017,57138.28325,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NLD,AVWAGE,TOT,USD,A,2018,56708.92587,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NLD,AVWAGE,TOT,USD,A,2019,56552.29043,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NOR,AVWAGE,TOT,USD,A,2015,53943.78397,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NOR,AVWAGE,TOT,USD,A,2016,52943.44998,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NOR,AVWAGE,TOT,USD,A,2017,53034.32566,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NOR,AVWAGE,TOT,USD,A,2018,53484.64221,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NOR,AVWAGE,TOT,USD,A,2019,54027.48705,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -POL,AVWAGE,TOT,USD,A,2015,25648.08453,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -POL,AVWAGE,TOT,USD,A,2016,26934.07273,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -POL,AVWAGE,TOT,USD,A,2017,28070.80769,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -POL,AVWAGE,TOT,USD,A,2018,30090.88308,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -POL,AVWAGE,TOT,USD,A,2019,31969.56803,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -PRT,AVWAGE,TOT,USD,A,2015,26175.52846,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -PRT,AVWAGE,TOT,USD,A,2016,26023.70855,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -PRT,AVWAGE,TOT,USD,A,2017,26141.28364,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -PRT,AVWAGE,TOT,USD,A,2018,26413.09577,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -PRT,AVWAGE,TOT,USD,A,2019,26633.71719,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVK,AVWAGE,TOT,USD,A,2015,22230.13786,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVK,AVWAGE,TOT,USD,A,2016,22947.42395,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVK,AVWAGE,TOT,USD,A,2017,23610.42637,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVK,AVWAGE,TOT,USD,A,2018,24254.01607,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVK,AVWAGE,TOT,USD,A,2019,25452.38663,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ESP,AVWAGE,TOT,USD,A,2015,39637.51128,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ESP,AVWAGE,TOT,USD,A,2016,39413.14818,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ESP,AVWAGE,TOT,USD,A,2017,38897.90764,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ESP,AVWAGE,TOT,USD,A,2018,38554.41746,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ESP,AVWAGE,TOT,USD,A,2019,38757.56996,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SWE,AVWAGE,TOT,USD,A,2015,44849.4209,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SWE,AVWAGE,TOT,USD,A,2016,45552.08133,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SWE,AVWAGE,TOT,USD,A,2017,45818.05044,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SWE,AVWAGE,TOT,USD,A,2018,46061.69242,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SWE,AVWAGE,TOT,USD,A,2019,46695.34986,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHE,AVWAGE,TOT,USD,A,2015,66517.46188,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHE,AVWAGE,TOT,USD,A,2016,66349.80362,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHE,AVWAGE,TOT,USD,A,2017,66131.82428,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHE,AVWAGE,TOT,USD,A,2018,66120.94281,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHE,AVWAGE,TOT,USD,A,2019,66566.72632,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GBR,AVWAGE,TOT,USD,A,2015,45531.605,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GBR,AVWAGE,TOT,USD,A,2016,46087.95586,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GBR,AVWAGE,TOT,USD,A,2017,46492.67666,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GBR,AVWAGE,TOT,USD,A,2018,46655.52243,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -GBR,AVWAGE,TOT,USD,A,2019,47226.08766,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -USA,AVWAGE,TOT,USD,A,2015,62982.15361,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -USA,AVWAGE,TOT,USD,A,2016,63079.25821,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -USA,AVWAGE,TOT,USD,A,2017,63734.34215,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -USA,AVWAGE,TOT,USD,A,2018,64396.69684,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -USA,AVWAGE,TOT,USD,A,2019,65835.57764,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -EST,AVWAGE,TOT,USD,A,2015,24628.69101,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -EST,AVWAGE,TOT,USD,A,2016,25841.28678,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -EST,AVWAGE,TOT,USD,A,2017,26554.96128,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -EST,AVWAGE,TOT,USD,A,2018,28499.25441,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -EST,AVWAGE,TOT,USD,A,2019,30296.87726,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISR,AVWAGE,TOT,USD,A,2015,35439.45549,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISR,AVWAGE,TOT,USD,A,2016,36729.29562,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISR,AVWAGE,TOT,USD,A,2017,37745.321,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISR,AVWAGE,TOT,USD,A,2018,38602.96507,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISR,AVWAGE,TOT,USD,A,2019,39403.10257,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVN,AVWAGE,TOT,USD,A,2015,36371.82514,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVN,AVWAGE,TOT,USD,A,2016,37871.05798,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVN,AVWAGE,TOT,USD,A,2017,38503.34068,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVN,AVWAGE,TOT,USD,A,2018,39077.86228,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -SVN,AVWAGE,TOT,USD,A,2019,40219.62097,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -OECD,AVWAGE,TOT,USD,A,2015,46562.4795,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -OECD,AVWAGE,TOT,USD,A,2016,46897.42165,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -OECD,AVWAGE,TOT,USD,A,2017,47276.80623,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -OECD,AVWAGE,TOT,USD,A,2018,47747.77667,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -OECD,AVWAGE,TOT,USD,A,2019,48586.93652,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISL,AVWAGE,TOT,USD,A,2015,56081.3317,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISL,AVWAGE,TOT,USD,A,2016,61206.55418,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISL,AVWAGE,TOT,USD,A,2017,67709.68977,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISL,AVWAGE,TOT,USD,A,2018,70002.52953,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ISL,AVWAGE,TOT,USD,A,2019,68005.79368,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NZL,AVWAGE,TOT,USD,A,2015,41672.77532,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NZL,AVWAGE,TOT,USD,A,2016,43183.13048,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NZL,AVWAGE,TOT,USD,A,2017,43398.99731,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NZL,AVWAGE,TOT,USD,A,2018,43769.61954,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -NZL,AVWAGE,TOT,USD,A,2019,44030.74518,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHL,AVWAGE,TOT,USD,A,2015,26001.07511,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHL,AVWAGE,TOT,USD,A,2016,27044.38873,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHL,AVWAGE,TOT,USD,A,2017,26313.01752,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHL,AVWAGE,TOT,USD,A,2018,26369.49741,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CHL,AVWAGE,TOT,USD,A,2019,26915.8365,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LVA,AVWAGE,TOT,USD,A,2015,23258.38222,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LVA,AVWAGE,TOT,USD,A,2016,24662.51202,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LVA,AVWAGE,TOT,USD,A,2017,25620.42698,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LVA,AVWAGE,TOT,USD,A,2018,26764.56306,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LVA,AVWAGE,TOT,USD,A,2019,28453.58675,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LTU,AVWAGE,TOT,USD,A,2015,23593.35637,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LTU,AVWAGE,TOT,USD,A,2016,24853.85569,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LTU,AVWAGE,TOT,USD,A,2017,26258.4257,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LTU,AVWAGE,TOT,USD,A,2018,27368.00667,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -LTU,AVWAGE,TOT,USD,A,2019,28913.89776,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/Resources/.ipynb_checkpoints/countries-checkpoint.csv b/Resources/.ipynb_checkpoints/countries-checkpoint.csv deleted file mode 100644 index 4af7d22..0000000 --- a/Resources/.ipynb_checkpoints/countries-checkpoint.csv +++ /dev/null @@ -1,33 +0,0 @@ -Country,Lat,Long -Ireland,53.41291,-8.24389 -Spain,40.463667,-3.74922 -Australia,-25.274398,133.775136 -Turkey,38.963745,35.243322 -Luxembourg,49.815273,6.129583 -New Zealand,-40.900557,-40.900557 -United Kingdom,55.378051,-3.435973 -Mexico,23.634501,-102.552784 -Greece,39.074208,21.824312 -Slovak Republic,48.669026,19.699024 -Portugal,39.399872,-8.224454 -France,46.227638,2.213749 -United States,37.09024,-95.712891 -Japan,36.204824,138.252924 -Netherlands,52.132633,5.291266 -Estonia,58.595272,25.013607 -Hungary,47.162494,19.503304 -Poland,51.919438,19.145136 -Czech Republic,49.817492,15.472962 -Canada,56.130366,-106.346771 -Korea,35.907757,127.766922 -Slovenia,46.151241,14.995463 -Chile,-35.675147,-71.542969 -Israel,31.046051,34.851612 -Belgium,50.503887,4.469936 -Brazil,-14.235004,-51.92528 -Germany,51.165691,10.451526 -Russian Federation,61.52401,105.318756 -Lithuania,55.169438,23.881275 -Latvia,56.879635,24.603189 -Colombia,4.570868,-74.297333 -Costa Rica,9.748917,-83.753428 diff --git a/Resources/.ipynb_checkpoints/gold_price-checkpoint.csv b/Resources/.ipynb_checkpoints/gold_price-checkpoint.csv deleted file mode 100644 index 960b26e..0000000 --- a/Resources/.ipynb_checkpoints/gold_price-checkpoint.csv +++ /dev/null @@ -1,5001 +0,0 @@ -"Date","Price","Open","High","Low","Change %" -"Dec 19, 2019","1,479.15","1,475.44","1,481.97","1,473.01","0.25%" -"Dec 18, 2019","1,475.44","1,476.45","1,479.67","1,470.32","-0.07%" -"Dec 17, 2019","1,476.45","1,476.25","1,480.78","1,474.23","0.01%" -"Dec 16, 2019","1,476.25","1,475.60","1,480.03","1,472.99","0.03%" -"Dec 13, 2019","1,475.81","1,469.47","1,478.22","1,462.48","0.43%" -"Dec 12, 2019","1,469.43","1,474.85","1,486.95","1,464.78","-0.37%" -"Dec 11, 2019","1,474.85","1,464.19","1,479.04","1,462.59","0.73%" -"Dec 10, 2019","1,464.21","1,461.93","1,469.36","1,459.80","0.15%" -"Dec 09, 2019","1,461.99","1,459.49","1,465.80","1,458.76","0.15%" -"Dec 06, 2019","1,459.76","1,475.70","1,477.45","1,458.61","-1.08%" -"Dec 05, 2019","1,475.70","1,474.34","1,480.72","1,472.90","0.09%" -"Dec 04, 2019","1,474.35","1,477.34","1,484.55","1,471.39","-0.20%" -"Dec 03, 2019","1,477.34","1,462.50","1,482.22","1,459.39","1.02%" -"Dec 02, 2019","1,462.44","1,467.03","1,467.03","1,453.91","-0.16%" -"Nov 29, 2019","1,464.80","1,455.90","1,466.81","1,452.93","0.44%" -"Nov 28, 2019","1,458.34","1,456.77","1,458.57","1,454.37","0.27%" -"Nov 27, 2019","1,454.35","1,461.65","1,462.11","1,452.45","-0.50%" -"Nov 26, 2019","1,461.60","1,454.98","1,462.97","1,450.63","0.46%" -"Nov 25, 2019","1,454.97","1,462.29","1,462.41","1,453.89","-0.50%" -"Nov 22, 2019","1,462.29","1,464.40","1,473.30","1,461.23","-0.14%" -"Nov 21, 2019","1,464.40","1,471.25","1,475.98","1,462.60","-0.47%" -"Nov 20, 2019","1,471.25","1,472.39","1,479.15","1,465.88","-0.08%" -"Nov 19, 2019","1,472.38","1,470.85","1,475.72","1,464.60","0.10%" -"Nov 18, 2019","1,470.85","1,467.66","1,474.30","1,456.26","0.24%" -"Nov 15, 2019","1,467.37","1,471.20","1,471.49","1,462.28","-0.26%" -"Nov 14, 2019","1,471.20","1,463.18","1,474.62","1,460.93","0.55%" -"Nov 13, 2019","1,463.19","1,457.19","1,467.36","1,455.96","0.41%" -"Nov 12, 2019","1,457.19","1,455.79","1,460.55","1,445.61","0.09%" -"Nov 11, 2019","1,455.90","1,458.96","1,466.77","1,448.28","-0.19%" -"Nov 08, 2019","1,458.66","1,468.01","1,473.33","1,456.28","-0.64%" -"Nov 07, 2019","1,468.07","1,490.44","1,492.48","1,461.24","-1.50%" -"Nov 06, 2019","1,490.46","1,484.10","1,494.46","1,482.45","0.43%" -"Nov 05, 2019","1,484.10","1,509.64","1,510.10","1,479.65","-1.69%" -"Nov 04, 2019","1,509.63","1,513.80","1,514.97","1,504.33","-0.29%" -"Nov 01, 2019","1,513.95","1,513.32","1,515.81","1,503.31","0.04%" -"Oct 31, 2019","1,513.35","1,496.40","1,514.53","1,493.72","1.20%" -"Oct 30, 2019","1,495.40","1,487.60","1,496.91","1,481.21","0.52%" -"Oct 29, 2019","1,487.60","1,492.69","1,495.16","1,483.72","-0.34%" -"Oct 28, 2019","1,492.69","1,504.34","1,508.58","1,489.86","-0.80%" -"Oct 25, 2019","1,504.73","1,504.75","1,518.07","1,500.56","0.07%" -"Oct 24, 2019","1,503.65","1,492.15","1,504.27","1,488.02","0.77%" -"Oct 23, 2019","1,492.10","1,488.35","1,496.50","1,487.62","0.27%" -"Oct 22, 2019","1,488.05","1,484.52","1,489.29","1,480.87","0.24%" -"Oct 21, 2019","1,484.50","1,492.02","1,495.48","1,481.91","-0.38%" -"Oct 18, 2019","1,490.10","1,492.17","1,494.26","1,484.82","-0.12%" -"Oct 17, 2019","1,491.89","1,490.55","1,497.50","1,483.45","0.14%" -"Oct 16, 2019","1,489.77","1,481.13","1,491.65","1,477.06","0.58%" -"Oct 15, 2019","1,481.17","1,493.20","1,498.17","1,477.53","-0.79%" -"Oct 14, 2019","1,492.90","1,488.90","1,497.38","1,482.82","0.20%" -"Oct 11, 2019","1,489.85","1,494.44","1,503.45","1,474.28","-0.30%" -"Oct 10, 2019","1,494.30","1,505.60","1,517.08","1,491.42","-0.76%" -"Oct 09, 2019","1,505.70","1,506.05","1,511.60","1,499.70","0.01%" -"Oct 08, 2019","1,505.51","1,493.55","1,508.71","1,487.45","0.80%" -"Oct 07, 2019","1,493.60","1,504.76","1,509.64","1,489.94","-0.73%" -"Oct 04, 2019","1,504.60","1,505.19","1,511.17","1,497.15","-0.03%" -"Oct 03, 2019","1,505.00","1,499.55","1,518.81","1,495.99","0.37%" -"Oct 02, 2019","1,499.51","1,479.19","1,505.11","1,474.42","1.39%" -"Oct 01, 2019","1,478.98","1,472.30","1,487.37","1,459.00","0.46%" -"Sep 30, 2019","1,472.25","1,497.07","1,500.50","1,464.42","-1.65%" -"Sep 27, 2019","1,496.94","1,506.00","1,507.70","1,487.04","-0.59%" -"Sep 26, 2019","1,505.80","1,503.94","1,512.70","1,501.97","0.11%" -"Sep 25, 2019","1,504.15","1,532.00","1,535.42","1,501.31","-1.84%" -"Sep 24, 2019","1,532.30","1,522.40","1,535.85","1,515.80","0.67%" -"Sep 23, 2019","1,522.11","1,516.66","1,527.25","1,511.50","0.33%" -"Sep 20, 2019","1,517.15","1,499.40","1,517.24","1,497.90","1.20%" -"Sep 19, 2019","1,499.20","1,494.00","1,504.35","1,488.90","0.35%" -"Sep 18, 2019","1,493.90","1,501.55","1,511.32","1,484.36","-0.61%" -"Sep 17, 2019","1,503.10","1,498.85","1,507.48","1,493.36","0.29%" -"Sep 16, 2019","1,498.80","1,503.34","1,512.20","1,495.75","0.68%" -"Sep 13, 2019","1,488.70","1,498.50","1,509.25","1,485.73","-0.68%" -"Sep 12, 2019","1,498.95","1,497.50","1,523.96","1,488.80","0.09%" -"Sep 11, 2019","1,497.60","1,486.45","1,498.56","1,485.00","0.75%" -"Sep 10, 2019","1,486.40","1,499.00","1,501.45","1,484.27","-0.84%" -"Sep 09, 2019","1,498.95","1,507.10","1,515.55","1,497.72","-0.53%" -"Sep 06, 2019","1,506.95","1,519.20","1,527.90","1,502.89","-0.82%" -"Sep 05, 2019","1,519.35","1,552.50","1,553.38","1,509.39","-2.14%" -"Sep 04, 2019","1,552.60","1,547.10","1,557.38","1,533.81","0.36%" -"Sep 03, 2019","1,547.00","1,529.60","1,549.90","1,521.51","1.07%" -"Sep 02, 2019","1,530.59","1,520.10","1,533.81","1,519.15","0.68%" -"Aug 30, 2019","1,520.25","1,527.60","1,533.45","1,517.43","-0.49%" -"Aug 29, 2019","1,527.70","1,539.20","1,550.72","1,519.50","-0.74%" -"Aug 28, 2019","1,539.10","1,541.80","1,547.03","1,531.55","-0.23%" -"Aug 27, 2019","1,542.65","1,526.30","1,544.78","1,524.85","1.07%" -"Aug 26, 2019","1,526.35","1,539.30","1,555.13","1,524.55","-0.03%" -"Aug 23, 2019","1,526.85","1,499.00","1,530.11","1,493.05","1.87%" -"Aug 22, 2019","1,498.80","1,502.20","1,504.68","1,491.85","-0.23%" -"Aug 21, 2019","1,502.30","1,507.70","1,508.40","1,496.15","-0.32%" -"Aug 20, 2019","1,507.10","1,495.60","1,508.60","1,492.85","0.79%" -"Aug 19, 2019","1,495.30","1,511.15","1,513.00","1,492.65","-1.24%" -"Aug 16, 2019","1,514.15","1,523.90","1,527.75","1,504.20","-0.59%" -"Aug 15, 2019","1,523.20","1,517.05","1,527.00","1,508.22","0.45%" -"Aug 14, 2019","1,516.33","1,501.38","1,524.30","1,494.34","1.00%" -"Aug 13, 2019","1,501.39","1,510.74","1,534.75","1,481.38","-0.66%" -"Aug 12, 2019","1,511.41","1,497.65","1,517.95","1,487.91","0.95%" -"Aug 09, 2019","1,497.24","1,501.20","1,508.40","1,494.69","-0.25%" -"Aug 08, 2019","1,500.95","1,501.50","1,509.72","1,490.08","-0.02%" -"Aug 07, 2019","1,501.20","1,474.25","1,510.28","1,472.28","1.83%" -"Aug 06, 2019","1,474.27","1,464.00","1,475.04","1,456.61","0.72%" -"Aug 05, 2019","1,463.80","1,440.65","1,470.05","1,437.03","1.60%" -"Aug 02, 2019","1,440.70","1,445.80","1,448.23","1,430.20","-0.32%" -"Aug 01, 2019","1,445.31","1,411.34","1,445.98","1,400.65","2.23%" -"Jul 31, 2019","1,413.80","1,431.05","1,433.07","1,411.42","-1.19%" -"Jul 30, 2019","1,430.85","1,426.84","1,433.12","1,422.12","0.27%" -"Jul 29, 2019","1,426.94","1,419.49","1,428.46","1,416.98","0.58%" -"Jul 26, 2019","1,418.69","1,414.40","1,424.83","1,413.72","0.29%" -"Jul 25, 2019","1,414.53","1,426.30","1,433.84","1,411.08","-0.80%" -"Jul 24, 2019","1,425.90","1,417.55","1,429.55","1,416.43","0.60%" -"Jul 23, 2019","1,417.39","1,425.15","1,429.25","1,414.29","-0.54%" -"Jul 22, 2019","1,425.12","1,425.15","1,429.77","1,422.34","-0.01%" -"Jul 19, 2019","1,425.30","1,446.40","1,452.96","1,420.40","-1.45%" -"Jul 18, 2019","1,446.30","1,426.80","1,448.35","1,414.68","1.37%" -"Jul 17, 2019","1,426.80","1,406.59","1,427.00","1,400.18","1.46%" -"Jul 16, 2019","1,406.33","1,415.05","1,418.34","1,401.23","-0.55%" -"Jul 15, 2019","1,414.08","1,415.75","1,419.75","1,407.69","-0.12%" -"Jul 12, 2019","1,415.74","1,403.90","1,417.09","1,403.12","0.84%" -"Jul 11, 2019","1,404.00","1,419.20","1,426.21","1,401.58","-1.06%" -"Jul 10, 2019","1,419.00","1,397.80","1,419.21","1,389.88","1.51%" -"Jul 09, 2019","1,397.90","1,395.60","1,400.13","1,386.35","0.17%" -"Jul 08, 2019","1,395.50","1,400.05","1,408.03","1,391.79","-0.32%" -"Jul 05, 2019","1,399.95","1,415.80","1,424.24","1,386.97","-1.11%" -"Jul 04, 2019","1,415.65","1,419.59","1,422.02","1,410.43","-0.23%" -"Jul 03, 2019","1,418.94","1,419.95","1,436.29","1,412.52","0.03%" -"Jul 02, 2019","1,418.44","1,383.55","1,419.80","1,383.55","2.47%" -"Jul 01, 2019","1,384.31","1,392.83","1,397.69","1,381.84","-1.79%" -"Jun 28, 2019","1,409.50","1,409.56","1,424.67","1,406.64","-0.01%" -"Jun 27, 2019","1,409.68","1,409.55","1,411.94","1,400.23","0.07%" -"Jun 26, 2019","1,408.75","1,423.90","1,424.03","1,402.37","-1.02%" -"Jun 25, 2019","1,423.25","1,419.17","1,438.99","1,412.30","0.26%" -"Jun 24, 2019","1,419.55","1,401.35","1,421.20","1,400.33","1.47%" -"Jun 21, 2019","1,399.05","1,388.22","1,411.08","1,382.44","0.78%" -"Jun 20, 2019","1,388.18","1,360.34","1,393.30","1,357.66","2.05%" -"Jun 19, 2019","1,360.27","1,346.55","1,362.50","1,341.19","1.02%" -"Jun 18, 2019","1,346.48","1,340.30","1,354.68","1,338.54","0.52%" -"Jun 17, 2019","1,339.54","1,342.05","1,343.53","1,332.83","-0.15%" -"Jun 14, 2019","1,341.58","1,341.70","1,358.40","1,337.88","-0.06%" -"Jun 13, 2019","1,342.35","1,334.00","1,343.41","1,332.22","0.66%" -"Jun 12, 2019","1,333.55","1,327.05","1,338.58","1,326.04","0.50%" -"Jun 11, 2019","1,326.91","1,328.40","1,330.22","1,319.74","-0.09%" -"Jun 10, 2019","1,328.13","1,335.94","1,337.77","1,324.90","-0.94%" -"Jun 07, 2019","1,340.70","1,335.45","1,348.45","1,330.08","0.39%" -"Jun 06, 2019","1,335.55","1,331.99","1,340.09","1,327.26","0.40%" -"Jun 05, 2019","1,330.18","1,325.50","1,344.24","1,324.53","0.37%" -"Jun 04, 2019","1,325.28","1,325.05","1,329.41","1,319.90","0.01%" -"Jun 03, 2019","1,325.17","1,307.40","1,328.34","1,306.62","1.50%" -"May 31, 2019","1,305.65","1,288.35","1,307.11","1,288.00","1.30%" -"May 30, 2019","1,288.85","1,279.74","1,289.24","1,274.82","0.72%" -"May 29, 2019","1,279.60","1,279.56","1,285.79","1,278.88","0.01%" -"May 28, 2019","1,279.49","1,285.55","1,286.75","1,276.01","-0.44%" -"May 27, 2019","1,285.20","1,285.80","1,287.69","1,283.68","0.02%" -"May 24, 2019","1,284.90","1,283.55","1,285.59","1,280.59","0.11%" -"May 23, 2019","1,283.45","1,273.80","1,287.62","1,272.61","0.77%" -"May 22, 2019","1,273.61","1,274.74","1,277.59","1,272.28","-0.11%" -"May 21, 2019","1,274.97","1,278.10","1,278.16","1,269.34","-0.22%" -"May 20, 2019","1,277.74","1,277.80","1,279.32","1,273.60","0.02%" -"May 17, 2019","1,277.55","1,286.50","1,289.24","1,274.91","-0.71%" -"May 16, 2019","1,286.65","1,296.90","1,299.06","1,284.06","-0.77%" -"May 15, 2019","1,296.67","1,297.17","1,301.18","1,292.85","-0.03%" -"May 14, 2019","1,297.03","1,300.24","1,303.47","1,293.52","-0.22%" -"May 13, 2019","1,299.91","1,286.71","1,301.50","1,281.77","1.08%" -"May 10, 2019","1,286.00","1,284.34","1,289.60","1,283.10","0.14%" -"May 09, 2019","1,284.14","1,280.74","1,288.57","1,279.43","0.25%" -"May 08, 2019","1,280.93","1,284.15","1,291.73","1,279.37","-0.33%" -"May 07, 2019","1,285.15","1,281.10","1,286.37","1,278.04","0.38%" -"May 06, 2019","1,280.32","1,281.19","1,285.90","1,276.85","0.09%" -"May 03, 2019","1,279.19","1,270.74","1,282.84","1,268.90","0.68%" -"May 02, 2019","1,270.54","1,276.94","1,278.18","1,266.18","-0.48%" -"May 01, 2019","1,276.60","1,283.59","1,287.38","1,273.16","-0.54%" -"Apr 30, 2019","1,283.60","1,279.98","1,286.58","1,279.69","0.30%" -"Apr 29, 2019","1,279.80","1,286.55","1,287.00","1,277.97","-0.50%" -"Apr 26, 2019","1,286.25","1,277.27","1,289.01","1,276.05","0.70%" -"Apr 25, 2019","1,277.35","1,275.60","1,282.81","1,273.35","0.16%" -"Apr 24, 2019","1,275.36","1,272.30","1,278.79","1,268.58","0.23%" -"Apr 23, 2019","1,272.40","1,275.40","1,276.83","1,266.25","-0.20%" -"Apr 22, 2019","1,274.93","1,275.83","1,280.14","1,273.66","-0.04%" -"Apr 18, 2019","1,275.40","1,273.49","1,277.97","1,271.07","0.10%" -"Apr 17, 2019","1,274.14","1,276.84","1,280.01","1,272.94","-0.19%" -"Apr 16, 2019","1,276.57","1,287.90","1,288.85","1,272.94","-0.88%" -"Apr 15, 2019","1,287.89","1,290.60","1,292.08","1,282.37","-0.19%" -"Apr 12, 2019","1,290.40","1,292.30","1,296.10","1,290.09","-0.17%" -"Apr 11, 2019","1,292.59","1,308.10","1,309.37","1,289.66","-1.18%" -"Apr 10, 2019","1,308.05","1,304.09","1,310.96","1,301.06","0.30%" -"Apr 09, 2019","1,304.14","1,297.65","1,306.50","1,296.57","0.52%" -"Apr 08, 2019","1,297.42","1,291.80","1,303.97","1,291.39","0.44%" -"Apr 05, 2019","1,291.70","1,292.44","1,293.69","1,284.44","-0.05%" -"Apr 04, 2019","1,292.38","1,290.10","1,294.55","1,280.91","0.19%" -"Apr 03, 2019","1,289.91","1,292.34","1,294.81","1,288.34","-0.25%" -"Apr 02, 2019","1,293.15","1,287.55","1,293.15","1,285.17","0.43%" -"Apr 01, 2019","1,287.67","1,291.48","1,297.23","1,286.64","-0.35%" -"Mar 29, 2019","1,292.15","1,290.59","1,300.01","1,286.77","0.12%" -"Mar 28, 2019","1,290.55","1,309.85","1,312.48","1,288.58","-1.47%" -"Mar 27, 2019","1,309.86","1,315.61","1,319.60","1,308.03","-0.43%" -"Mar 26, 2019","1,315.52","1,321.80","1,323.41","1,312.69","-0.48%" -"Mar 25, 2019","1,321.90","1,313.35","1,324.57","1,310.97","0.65%" -"Mar 22, 2019","1,313.38","1,309.55","1,315.20","1,306.81","0.30%" -"Mar 21, 2019","1,309.45","1,313.05","1,320.62","1,303.40","-0.23%" -"Mar 20, 2019","1,312.48","1,305.74","1,317.03","1,298.58","0.45%" -"Mar 19, 2019","1,306.55","1,303.60","1,311.19","1,302.50","0.22%" -"Mar 18, 2019","1,303.70","1,302.34","1,306.89","1,298.19","0.18%" -"Mar 15, 2019","1,301.38","1,296.15","1,306.79","1,293.82","0.39%" -"Mar 14, 2019","1,296.28","1,309.76","1,310.53","1,292.83","-0.99%" -"Mar 13, 2019","1,309.28","1,302.16","1,311.56","1,300.61","0.56%" -"Mar 12, 2019","1,302.01","1,293.84","1,302.40","1,292.08","0.60%" -"Mar 11, 2019","1,294.25","1,298.85","1,299.44","1,290.34","-0.32%" -"Mar 08, 2019","1,298.40","1,285.78","1,300.85","1,285.18","0.98%" -"Mar 07, 2019","1,285.74","1,286.71","1,289.10","1,281.27","-0.08%" -"Mar 06, 2019","1,286.76","1,287.48","1,291.11","1,283.51","-0.05%" -"Mar 05, 2019","1,287.43","1,286.67","1,289.92","1,281.10","0.06%" -"Mar 04, 2019","1,286.67","1,293.61","1,297.35","1,282.88","-0.53%" -"Mar 01, 2019","1,293.56","1,312.94","1,315.46","1,290.24","-1.48%" -"Feb 28, 2019","1,313.05","1,319.87","1,327.44","1,312.41","-0.52%" -"Feb 27, 2019","1,319.88","1,328.92","1,329.96","1,316.78","-0.68%" -"Feb 26, 2019","1,328.96","1,327.11","1,330.40","1,323.44","0.14%" -"Feb 25, 2019","1,327.13","1,328.89","1,332.80","1,325.15","-0.05%" -"Feb 22, 2019","1,327.80","1,323.51","1,333.41","1,321.39","0.32%" -"Feb 21, 2019","1,323.49","1,338.59","1,341.71","1,321.99","-1.12%" -"Feb 20, 2019","1,338.49","1,341.24","1,347.11","1,336.79","-0.20%" -"Feb 19, 2019","1,341.17","1,326.25","1,342.11","1,322.63","1.08%" -"Feb 18, 2019","1,326.90","1,321.41","1,328.05","1,320.60","0.42%" -"Feb 15, 2019","1,321.41","1,312.64","1,322.76","1,311.17","0.68%" -"Feb 14, 2019","1,312.55","1,306.17","1,314.70","1,302.88","0.49%" -"Feb 13, 2019","1,306.19","1,310.89","1,318.36","1,304.80","-0.36%" -"Feb 12, 2019","1,310.90","1,308.22","1,315.10","1,306.44","0.20%" -"Feb 11, 2019","1,308.32","1,314.55","1,315.01","1,303.69","-0.44%" -"Feb 08, 2019","1,314.06","1,310.13","1,316.05","1,307.53","0.30%" -"Feb 07, 2019","1,310.09","1,306.19","1,312.27","1,302.53","0.30%" -"Feb 06, 2019","1,306.22","1,315.02","1,316.16","1,305.70","-0.67%" -"Feb 05, 2019","1,315.02","1,311.73","1,317.13","1,310.59","0.25%" -"Feb 04, 2019","1,311.75","1,318.13","1,319.11","1,308.50","-0.47%" -"Feb 01, 2019","1,318.00","1,320.93","1,323.82","1,315.94","-0.22%" -"Jan 31, 2019","1,320.94","1,319.87","1,326.65","1,317.39","0.08%" -"Jan 30, 2019","1,319.91","1,311.95","1,323.67","1,308.81","0.61%" -"Jan 29, 2019","1,311.93","1,303.53","1,312.34","1,302.45","0.64%" -"Jan 28, 2019","1,303.53","1,303.82","1,304.79","1,297.54","0.02%" -"Jan 25, 2019","1,303.22","1,280.93","1,303.78","1,279.71","1.74%" -"Jan 24, 2019","1,280.94","1,282.42","1,285.19","1,276.79","-0.11%" -"Jan 23, 2019","1,282.40","1,285.04","1,286.90","1,278.40","-0.21%" -"Jan 22, 2019","1,285.04","1,279.94","1,285.84","1,277.21","0.37%" -"Jan 21, 2019","1,280.28","1,281.64","1,283.95","1,276.58","-0.09%" -"Jan 18, 2019","1,281.49","1,291.88","1,292.73","1,280.49","-0.81%" -"Jan 17, 2019","1,291.90","1,293.55","1,295.62","1,288.67","-0.13%" -"Jan 16, 2019","1,293.52","1,289.11","1,295.22","1,287.77","0.33%" -"Jan 15, 2019","1,289.31","1,291.73","1,295.03","1,286.60","-0.19%" -"Jan 14, 2019","1,291.73","1,287.70","1,296.21","1,287.45","0.29%" -"Jan 11, 2019","1,288.00","1,286.30","1,295.55","1,286.01","0.13%" -"Jan 10, 2019","1,286.38","1,293.13","1,297.47","1,285.99","-0.52%" -"Jan 09, 2019","1,293.13","1,285.36","1,294.25","1,279.90","0.61%" -"Jan 08, 2019","1,285.35","1,288.68","1,290.44","1,279.10","-0.26%" -"Jan 07, 2019","1,288.67","1,286.01","1,295.42","1,282.53","0.29%" -"Jan 04, 2019","1,284.92","1,294.04","1,298.68","1,276.66","-0.70%" -"Jan 03, 2019","1,293.99","1,284.80","1,295.11","1,284.17","0.72%" -"Jan 02, 2019","1,284.77","1,282.30","1,288.93","1,278.59","0.17%" -"Jan 01, 2019","1,282.61","1,282.78","1,283.05","1,282.52","-0.02%" -"Dec 31, 2018","1,282.82","1,280.20","1,284.34","1,277.31","0.16%" -"Dec 28, 2018","1,280.75","1,275.23","1,282.34","1,274.19","0.43%" -"Dec 27, 2018","1,275.22","1,266.89","1,279.30","1,266.42","0.65%" -"Dec 26, 2018","1,266.98","1,270.75","1,279.33","1,264.56","-0.17%" -"Dec 24, 2018","1,269.13","1,258.65","1,270.13","1,257.96","1.04%" -"Dec 21, 2018","1,256.01","1,260.10","1,263.12","1,253.68","-0.33%" -"Dec 20, 2018","1,260.15","1,243.40","1,266.70","1,242.70","1.35%" -"Dec 19, 2018","1,243.40","1,249.37","1,258.44","1,241.49","-0.48%" -"Dec 18, 2018","1,249.38","1,246.02","1,250.63","1,244.79","0.28%" -"Dec 17, 2018","1,245.91","1,237.60","1,248.46","1,235.69","0.62%" -"Dec 14, 2018","1,238.21","1,242.43","1,243.30","1,232.70","-0.34%" -"Dec 13, 2018","1,242.46","1,245.69","1,247.14","1,240.05","-0.27%" -"Dec 12, 2018","1,245.80","1,242.94","1,247.52","1,241.94","0.23%" -"Dec 11, 2018","1,242.94","1,244.52","1,249.89","1,240.81","-0.13%" -"Dec 10, 2018","1,244.58","1,250.76","1,250.85","1,241.47","-0.28%" -"Dec 07, 2018","1,248.09","1,238.00","1,250.44","1,237.29","0.82%" -"Dec 06, 2018","1,237.99","1,237.56","1,244.72","1,234.56","0.04%" -"Dec 05, 2018","1,237.56","1,238.55","1,239.64","1,233.21","-0.08%" -"Dec 04, 2018","1,238.55","1,231.03","1,242.22","1,230.34","0.61%" -"Dec 03, 2018","1,231.07","1,223.19","1,235.19","1,221.22","0.75%" -"Nov 30, 2018","1,221.96","1,223.95","1,225.95","1,216.49","-0.17%" -"Nov 29, 2018","1,223.99","1,221.13","1,229.23","1,220.45","0.24%" -"Nov 28, 2018","1,221.11","1,214.64","1,226.55","1,210.99","0.53%" -"Nov 27, 2018","1,214.69","1,222.36","1,225.43","1,211.71","-0.63%" -"Nov 26, 2018","1,222.37","1,224.04","1,228.44","1,221.45","-0.07%" -"Nov 23, 2018","1,223.19","1,227.08","1,228.92","1,220.12","-0.35%" -"Nov 22, 2018","1,227.45","1,226.02","1,229.45","1,224.81","0.12%" -"Nov 21, 2018","1,226.02","1,221.53","1,230.33","1,219.52","0.37%" -"Nov 20, 2018","1,221.55","1,224.06","1,229.04","1,219.69","-0.20%" -"Nov 19, 2018","1,224.05","1,222.34","1,225.51","1,217.82","0.21%" -"Nov 16, 2018","1,221.47","1,213.01","1,225.67","1,212.61","0.70%" -"Nov 15, 2018","1,213.00","1,210.85","1,216.66","1,207.83","0.17%" -"Nov 14, 2018","1,210.91","1,202.25","1,216.51","1,197.43","0.71%" -"Nov 13, 2018","1,202.34","1,200.65","1,205.57","1,196.19","0.14%" -"Nov 12, 2018","1,200.65","1,210.05","1,211.79","1,200.31","-0.74%" -"Nov 09, 2018","1,209.59","1,223.54","1,224.09","1,206.53","-1.14%" -"Nov 08, 2018","1,223.54","1,226.04","1,227.24","1,219.94","-0.21%" -"Nov 07, 2018","1,226.10","1,226.92","1,236.20","1,223.13","-0.06%" -"Nov 06, 2018","1,226.80","1,231.36","1,236.33","1,223.34","-0.37%" -"Nov 05, 2018","1,231.30","1,233.09","1,235.32","1,226.77","-0.13%" -"Nov 02, 2018","1,232.89","1,234.37","1,236.72","1,229.67","-0.03%" -"Nov 01, 2018","1,233.23","1,215.24","1,237.74","1,214.69","1.54%" -"Oct 31, 2018","1,214.54","1,223.04","1,223.50","1,211.82","-0.73%" -"Oct 30, 2018","1,223.44","1,230.06","1,230.83","1,219.71","-0.51%" -"Oct 29, 2018","1,229.74","1,234.15","1,235.73","1,224.31","-0.31%" -"Oct 26, 2018","1,233.58","1,232.25","1,243.63","1,229.78","0.11%" -"Oct 25, 2018","1,232.23","1,234.55","1,239.54","1,227.84","-0.16%" -"Oct 24, 2018","1,234.22","1,230.52","1,234.24","1,225.42","0.30%" -"Oct 23, 2018","1,230.48","1,222.15","1,239.94","1,221.65","0.68%" -"Oct 22, 2018","1,222.17","1,228.06","1,229.78","1,219.95","-0.34%" -"Oct 19, 2018","1,226.31","1,225.66","1,231.01","1,222.93","0.05%" -"Oct 18, 2018","1,225.75","1,222.02","1,230.51","1,218.44","0.25%" -"Oct 17, 2018","1,222.68","1,224.59","1,229.82","1,220.33","-0.14%" -"Oct 16, 2018","1,224.43","1,227.17","1,232.71","1,223.35","-0.20%" -"Oct 15, 2018","1,226.94","1,217.44","1,233.67","1,217.40","0.74%" -"Oct 12, 2018","1,217.93","1,224.24","1,224.38","1,215.60","-0.52%" -"Oct 11, 2018","1,224.33","1,194.95","1,226.51","1,191.10","2.47%" -"Oct 10, 2018","1,194.78","1,189.66","1,194.98","1,185.13","0.43%" -"Oct 09, 2018","1,189.62","1,188.63","1,192.19","1,183.24","0.14%" -"Oct 08, 2018","1,188.01","1,203.15","1,204.31","1,183.57","-1.23%" -"Oct 05, 2018","1,202.85","1,199.75","1,206.09","1,196.99","0.27%" -"Oct 04, 2018","1,199.66","1,197.35","1,207.09","1,195.77","0.19%" -"Oct 03, 2018","1,197.37","1,203.45","1,208.72","1,196.55","-0.48%" -"Oct 02, 2018","1,203.10","1,188.86","1,208.52","1,188.44","1.23%" -"Oct 01, 2018","1,188.46","1,192.19","1,192.51","1,184.46","-0.30%" -"Sep 28, 2018","1,192.09","1,182.89","1,193.95","1,180.68","0.79%" -"Sep 27, 2018","1,182.80","1,194.84","1,198.96","1,181.88","-0.98%" -"Sep 26, 2018","1,194.46","1,201.23","1,202.84","1,190.41","-0.57%" -"Sep 25, 2018","1,201.31","1,198.84","1,203.51","1,197.01","0.20%" -"Sep 24, 2018","1,198.85","1,198.31","1,204.44","1,194.21","-0.06%" -"Sep 21, 2018","1,199.55","1,207.48","1,211.39","1,191.76","-0.67%" -"Sep 20, 2018","1,207.58","1,203.83","1,208.69","1,201.07","0.30%" -"Sep 19, 2018","1,203.98","1,198.17","1,206.41","1,197.64","0.47%" -"Sep 18, 2018","1,198.35","1,201.86","1,203.78","1,195.76","-0.21%" -"Sep 17, 2018","1,200.93","1,193.18","1,205.17","1,192.76","0.60%" -"Sep 14, 2018","1,193.71","1,201.76","1,208.94","1,192.93","-0.64%" -"Sep 13, 2018","1,201.44","1,206.94","1,212.90","1,199.98","-0.39%" -"Sep 12, 2018","1,206.19","1,198.65","1,208.85","1,192.51","0.66%" -"Sep 11, 2018","1,198.29","1,195.43","1,199.60","1,187.57","0.20%" -"Sep 10, 2018","1,195.88","1,195.41","1,198.72","1,191.40","0.00%" -"Sep 07, 2018","1,195.85","1,199.97","1,203.80","1,193.19","-0.36%" -"Sep 06, 2018","1,200.15","1,197.23","1,207.37","1,195.61","0.28%" -"Sep 05, 2018","1,196.75","1,191.47","1,198.72","1,190.86","0.45%" -"Sep 04, 2018","1,191.35","1,201.67","1,202.33","1,189.53","-0.82%" -"Sep 03, 2018","1,201.15","1,200.29","1,204.20","1,195.64","0.01%" -"Aug 31, 2018","1,201.09","1,200.58","1,209.17","1,198.42","0.10%" -"Aug 30, 2018","1,199.88","1,206.58","1,208.05","1,196.20","-0.56%" -"Aug 29, 2018","1,206.66","1,201.31","1,207.63","1,200.89","0.45%" -"Aug 28, 2018","1,201.26","1,211.61","1,214.67","1,199.39","-0.83%" -"Aug 27, 2018","1,211.34","1,206.94","1,212.63","1,202.86","0.45%" -"Aug 24, 2018","1,205.96","1,185.41","1,208.83","1,183.12","1.74%" -"Aug 23, 2018","1,185.31","1,195.94","1,196.84","1,183.67","-0.85%" -"Aug 22, 2018","1,195.51","1,196.80","1,201.84","1,192.40","-0.05%" -"Aug 21, 2018","1,196.13","1,190.61","1,197.13","1,187.47","0.47%" -"Aug 20, 2018","1,190.53","1,183.74","1,191.26","1,182.61","0.49%" -"Aug 17, 2018","1,184.77","1,173.73","1,185.34","1,171.82","0.90%" -"Aug 16, 2018","1,174.16","1,175.57","1,182.25","1,160.19","-0.06%" -"Aug 15, 2018","1,174.88","1,194.41","1,194.84","1,173.03","-1.60%" -"Aug 14, 2018","1,194.03","1,194.19","1,198.99","1,191.99","0.03%" -"Aug 13, 2018","1,193.64","1,211.24","1,214.07","1,191.61","-1.46%" -"Aug 10, 2018","1,211.30","1,212.54","1,217.29","1,205.66","-0.09%" -"Aug 09, 2018","1,212.34","1,213.94","1,217.64","1,210.64","-0.10%" -"Aug 08, 2018","1,213.60","1,210.81","1,216.20","1,206.28","0.21%" -"Aug 07, 2018","1,211.02","1,207.54","1,216.51","1,207.54","0.34%" -"Aug 06, 2018","1,206.94","1,213.65","1,218.21","1,206.44","-0.53%" -"Aug 03, 2018","1,213.43","1,208.09","1,220.38","1,204.28","0.45%" -"Aug 02, 2018","1,207.96","1,215.46","1,221.39","1,207.03","-0.67%" -"Aug 01, 2018","1,216.06","1,223.97","1,225.10","1,215.58","-0.64%" -"Jul 31, 2018","1,223.83","1,221.78","1,228.52","1,214.48","0.17%" -"Jul 30, 2018","1,221.80","1,222.96","1,225.44","1,218.86","-0.13%" -"Jul 27, 2018","1,223.38","1,222.99","1,227.51","1,217.30","0.06%" -"Jul 26, 2018","1,222.68","1,231.34","1,235.57","1,222.13","-0.73%" -"Jul 25, 2018","1,231.61","1,224.34","1,234.51","1,223.02","0.58%" -"Jul 24, 2018","1,224.55","1,224.94","1,229.76","1,218.08","0.00%" -"Jul 23, 2018","1,224.54","1,231.55","1,235.50","1,222.07","-0.59%" -"Jul 20, 2018","1,231.77","1,223.33","1,232.94","1,215.70","0.73%" -"Jul 19, 2018","1,222.80","1,227.46","1,229.07","1,211.48","-0.36%" -"Jul 18, 2018","1,227.18","1,227.47","1,229.54","1,221.07","-0.03%" -"Jul 17, 2018","1,227.52","1,240.76","1,245.31","1,225.94","-1.07%" -"Jul 16, 2018","1,240.82","1,241.41","1,245.90","1,238.13","-0.06%" -"Jul 13, 2018","1,241.52","1,247.45","1,248.27","1,236.78","-0.45%" -"Jul 12, 2018","1,247.15","1,242.14","1,248.93","1,241.23","0.40%" -"Jul 11, 2018","1,242.16","1,255.88","1,257.10","1,241.28","-1.07%" -"Jul 10, 2018","1,255.65","1,257.68","1,260.64","1,247.16","-0.17%" -"Jul 09, 2018","1,257.77","1,255.13","1,266.26","1,255.02","0.22%" -"Jul 06, 2018","1,254.98","1,257.50","1,258.96","1,252.54","-0.22%" -"Jul 05, 2018","1,257.76","1,256.87","1,259.99","1,251.04","0.06%" -"Jul 04, 2018","1,256.95","1,252.14","1,261.44","1,251.81","0.32%" -"Jul 03, 2018","1,252.93","1,242.13","1,257.31","1,237.71","0.88%" -"Jul 02, 2018","1,241.97","1,253.49","1,254.48","1,239.45","-0.88%" -"Jun 29, 2018","1,253.00","1,247.99","1,256.04","1,246.06","0.38%" -"Jun 28, 2018","1,248.28","1,251.96","1,254.42","1,245.67","-0.30%" -"Jun 27, 2018","1,252.02","1,258.28","1,260.23","1,250.64","-0.55%" -"Jun 26, 2018","1,258.98","1,266.11","1,268.04","1,254.54","-0.55%" -"Jun 25, 2018","1,266.00","1,271.74","1,272.90","1,264.20","-0.26%" -"Jun 22, 2018","1,269.28","1,267.30","1,271.27","1,266.48","0.16%" -"Jun 21, 2018","1,267.20","1,268.34","1,270.47","1,261.23","-0.07%" -"Jun 20, 2018","1,268.10","1,274.81","1,276.59","1,267.60","-0.52%" -"Jun 19, 2018","1,274.77","1,278.56","1,284.43","1,270.28","-0.28%" -"Jun 18, 2018","1,278.31","1,279.15","1,281.92","1,276.94","-0.12%" -"Jun 15, 2018","1,279.84","1,302.26","1,303.33","1,275.30","-1.72%" -"Jun 14, 2018","1,302.22","1,299.84","1,309.64","1,297.32","0.19%" -"Jun 13, 2018","1,299.71","1,295.98","1,301.44","1,292.42","0.29%" -"Jun 12, 2018","1,295.97","1,300.42","1,300.81","1,292.97","-0.32%" -"Jun 11, 2018","1,300.15","1,299.40","1,302.50","1,293.96","0.11%" -"Jun 08, 2018","1,298.75","1,297.03","1,300.93","1,293.84","0.13%" -"Jun 07, 2018","1,297.13","1,296.98","1,303.30","1,294.87","0.01%" -"Jun 06, 2018","1,297.00","1,296.58","1,302.10","1,293.77","0.07%" -"Jun 05, 2018","1,296.14","1,292.34","1,300.81","1,289.77","0.32%" -"Jun 04, 2018","1,291.98","1,293.16","1,298.26","1,290.18","-0.09%" -"Jun 01, 2018","1,293.15","1,298.79","1,300.66","1,289.34","-0.40%" -"May 31, 2018","1,298.32","1,301.56","1,306.69","1,297.75","-0.24%" -"May 30, 2018","1,301.48","1,299.20","1,304.55","1,295.66","0.20%" -"May 29, 2018","1,298.85","1,298.15","1,306.46","1,293.62","0.06%" -"May 28, 2018","1,298.10","1,298.93","1,300.30","1,295.41","-0.27%" -"May 25, 2018","1,301.61","1,304.42","1,307.95","1,299.81","-0.25%" -"May 24, 2018","1,304.88","1,294.08","1,306.77","1,292.68","0.86%" -"May 23, 2018","1,293.75","1,291.18","1,298.01","1,288.02","0.19%" -"May 22, 2018","1,291.32","1,292.93","1,296.28","1,287.78","-0.10%" -"May 21, 2018","1,292.68","1,290.90","1,293.38","1,282.00","0.01%" -"May 18, 2018","1,292.50","1,290.74","1,294.44","1,286.02","0.12%" -"May 17, 2018","1,291.00","1,290.57","1,294.59","1,285.64","-0.00%" -"May 16, 2018","1,291.03","1,289.98","1,297.13","1,286.37","0.03%" -"May 15, 2018","1,290.65","1,313.13","1,315.06","1,288.56","-1.69%" -"May 14, 2018","1,312.82","1,318.55","1,322.58","1,312.75","-0.41%" -"May 11, 2018","1,318.22","1,321.44","1,326.17","1,317.63","-0.24%" -"May 10, 2018","1,321.40","1,312.06","1,322.94","1,310.74","0.66%" -"May 09, 2018","1,312.78","1,314.51","1,317.61","1,304.34","-0.13%" -"May 08, 2018","1,314.47","1,313.59","1,317.86","1,305.99","0.01%" -"May 07, 2018","1,314.30","1,315.05","1,319.08","1,310.15","-0.06%" -"May 04, 2018","1,315.05","1,312.31","1,315.47","1,308.08","0.23%" -"May 03, 2018","1,312.09","1,304.78","1,318.23","1,304.60","0.56%" -"May 02, 2018","1,304.84","1,304.20","1,313.59","1,303.79","0.07%" -"May 01, 2018","1,303.97","1,315.40","1,316.56","1,301.74","-0.87%" -"Apr 30, 2018","1,315.35","1,322.80","1,325.17","1,310.29","-0.56%" -"Apr 27, 2018","1,322.80","1,317.07","1,325.41","1,315.45","0.42%" -"Apr 26, 2018","1,317.28","1,322.91","1,326.80","1,315.24","-0.46%" -"Apr 25, 2018","1,323.33","1,330.64","1,332.26","1,318.76","-0.55%" -"Apr 24, 2018","1,330.68","1,324.74","1,332.86","1,322.51","0.43%" -"Apr 23, 2018","1,325.00","1,335.19","1,335.66","1,322.04","-0.76%" -"Apr 20, 2018","1,335.13","1,346.22","1,346.47","1,334.86","-0.78%" -"Apr 19, 2018","1,345.60","1,349.38","1,354.95","1,340.94","-0.28%" -"Apr 18, 2018","1,349.32","1,347.53","1,355.90","1,342.07","0.15%" -"Apr 17, 2018","1,347.29","1,345.82","1,349.61","1,337.59","0.10%" -"Apr 16, 2018","1,345.92","1,344.60","1,350.73","1,340.07","0.03%" -"Apr 13, 2018","1,345.46","1,335.17","1,347.31","1,335.17","0.75%" -"Apr 12, 2018","1,335.48","1,352.68","1,353.42","1,333.74","-1.32%" -"Apr 11, 2018","1,353.29","1,339.69","1,365.37","1,339.48","0.99%" -"Apr 10, 2018","1,340.05","1,336.37","1,342.79","1,331.11","0.28%" -"Apr 09, 2018","1,336.24","1,333.21","1,338.16","1,326.80","0.23%" -"Apr 06, 2018","1,333.19","1,326.70","1,335.49","1,321.28","0.50%" -"Apr 05, 2018","1,326.55","1,333.03","1,335.10","1,322.63","-0.51%" -"Apr 04, 2018","1,333.34","1,332.89","1,348.27","1,331.44","0.04%" -"Apr 03, 2018","1,332.82","1,340.86","1,342.68","1,328.93","-0.64%" -"Apr 02, 2018","1,341.35","1,326.21","1,345.03","1,324.76","1.23%" -"Mar 29, 2018","1,325.00","1,324.94","1,328.54","1,321.33","0.00%" -"Mar 28, 2018","1,324.99","1,345.74","1,347.23","1,323.42","-1.47%" -"Mar 27, 2018","1,344.71","1,353.51","1,356.87","1,339.93","-0.65%" -"Mar 26, 2018","1,353.46","1,347.90","1,356.13","1,343.40","0.46%" -"Mar 23, 2018","1,347.22","1,329.33","1,350.41","1,328.98","1.37%" -"Mar 22, 2018","1,328.95","1,332.18","1,335.01","1,324.73","-0.24%" -"Mar 21, 2018","1,332.18","1,311.20","1,336.79","1,309.80","1.60%" -"Mar 20, 2018","1,311.21","1,317.23","1,318.48","1,307.13","-0.44%" -"Mar 19, 2018","1,316.94","1,313.94","1,319.86","1,307.71","0.22%" -"Mar 16, 2018","1,314.00","1,316.56","1,321.86","1,309.56","-0.17%" -"Mar 15, 2018","1,316.26","1,324.62","1,328.06","1,314.86","-0.66%" -"Mar 14, 2018","1,325.00","1,326.45","1,330.27","1,321.58","-0.11%" -"Mar 13, 2018","1,326.40","1,322.90","1,328.48","1,316.55","0.25%" -"Mar 12, 2018","1,323.05","1,323.69","1,324.52","1,315.18","-0.05%" -"Mar 09, 2018","1,323.70","1,322.33","1,325.33","1,313.06","0.10%" -"Mar 08, 2018","1,322.34","1,325.49","1,329.22","1,318.98","-0.24%" -"Mar 07, 2018","1,325.54","1,334.51","1,340.68","1,322.24","-0.67%" -"Mar 06, 2018","1,334.46","1,320.03","1,338.72","1,319.72","1.09%" -"Mar 05, 2018","1,320.02","1,323.78","1,328.02","1,317.43","-0.17%" -"Mar 02, 2018","1,322.20","1,316.54","1,325.65","1,315.12","0.43%" -"Mar 01, 2018","1,316.55","1,318.22","1,321.16","1,302.76","-0.11%" -"Feb 28, 2018","1,318.05","1,318.20","1,322.64","1,315.59","-0.01%" -"Feb 27, 2018","1,318.20","1,333.14","1,336.90","1,313.47","-1.12%" -"Feb 26, 2018","1,333.16","1,327.92","1,341.06","1,326.59","0.32%" -"Feb 23, 2018","1,328.94","1,331.81","1,332.42","1,325.73","-0.19%" -"Feb 22, 2018","1,331.51","1,323.94","1,332.34","1,320.84","0.55%" -"Feb 21, 2018","1,324.26","1,329.48","1,336.27","1,322.36","-0.39%" -"Feb 20, 2018","1,329.49","1,346.77","1,348.36","1,328.39","-1.28%" -"Feb 19, 2018","1,346.69","1,347.67","1,351.34","1,345.82","-0.09%" -"Feb 16, 2018","1,347.86","1,353.31","1,361.97","1,344.82","-0.40%" -"Feb 15, 2018","1,353.30","1,350.78","1,357.18","1,348.41","0.19%" -"Feb 14, 2018","1,350.76","1,329.53","1,355.57","1,319.42","1.60%" -"Feb 13, 2018","1,329.55","1,322.29","1,330.96","1,321.39","0.50%" -"Feb 12, 2018","1,322.88","1,315.04","1,326.20","1,314.11","0.47%" -"Feb 09, 2018","1,316.69","1,318.87","1,322.71","1,311.06","-0.17%" -"Feb 08, 2018","1,318.97","1,318.61","1,322.17","1,306.90","0.04%" -"Feb 07, 2018","1,318.49","1,325.16","1,332.49","1,312.05","-0.49%" -"Feb 06, 2018","1,325.02","1,339.68","1,346.08","1,320.04","-1.09%" -"Feb 05, 2018","1,339.60","1,332.32","1,341.70","1,328.88","0.50%" -"Feb 02, 2018","1,332.98","1,349.16","1,350.12","1,327.21","-1.20%" -"Feb 01, 2018","1,349.19","1,345.40","1,351.42","1,337.30","0.30%" -"Jan 31, 2018","1,345.10","1,338.87","1,347.93","1,332.70","0.49%" -"Jan 30, 2018","1,338.55","1,340.67","1,349.12","1,334.48","-0.13%" -"Jan 29, 2018","1,340.35","1,350.07","1,352.65","1,337.74","-0.73%" -"Jan 26, 2018","1,350.14","1,348.36","1,357.39","1,344.38","0.16%" -"Jan 25, 2018","1,348.05","1,358.48","1,366.47","1,343.10","-0.74%" -"Jan 24, 2018","1,358.15","1,341.45","1,361.88","1,339.27","1.25%" -"Jan 23, 2018","1,341.39","1,334.45","1,342.22","1,331.54","0.55%" -"Jan 22, 2018","1,334.11","1,334.88","1,336.04","1,328.71","0.17%" -"Jan 19, 2018","1,331.80","1,327.49","1,338.37","1,326.46","0.35%" -"Jan 18, 2018","1,327.19","1,327.75","1,333.14","1,323.79","-0.04%" -"Jan 17, 2018","1,327.73","1,338.29","1,343.99","1,326.73","-0.81%" -"Jan 16, 2018","1,338.61","1,340.06","1,342.35","1,331.73","-0.12%" -"Jan 15, 2018","1,340.16","1,337.05","1,344.93","1,336.14","0.13%" -"Jan 12, 2018","1,338.40","1,322.82","1,339.40","1,321.16","1.21%" -"Jan 11, 2018","1,322.42","1,316.89","1,323.98","1,315.49","0.40%" -"Jan 10, 2018","1,317.19","1,313.28","1,326.94","1,308.29","0.35%" -"Jan 09, 2018","1,312.66","1,320.63","1,320.68","1,308.80","-0.60%" -"Jan 08, 2018","1,320.58","1,320.04","1,322.22","1,314.97","0.03%" -"Jan 05, 2018","1,320.21","1,323.50","1,323.83","1,313.81","-0.21%" -"Jan 04, 2018","1,322.97","1,312.53","1,325.92","1,305.67","0.77%" -"Jan 03, 2018","1,312.84","1,318.16","1,321.40","1,307.16","-0.40%" -"Jan 02, 2018","1,318.14","1,302.55","1,318.98","1,302.51","0.86%" -"Jan 01, 2018","1,306.86","1,303.43","1,307.72","1,302.43","0.33%" -"Dec 29, 2017","1,302.55","1,294.85","1,307.69","1,293.59","0.60%" -"Dec 28, 2017","1,294.84","1,287.31","1,295.30","1,286.66","0.58%" -"Dec 27, 2017","1,287.41","1,283.64","1,289.40","1,281.46","0.32%" -"Dec 26, 2017","1,283.29","1,274.91","1,283.77","1,273.25","0.63%" -"Dec 25, 2017","1,275.24","1,275.24","1,275.24","1,275.24","0.02%" -"Dec 22, 2017","1,275.01","1,267.12","1,276.38","1,265.10","0.65%" -"Dec 21, 2017","1,266.76","1,265.62","1,268.97","1,263.02","0.09%" -"Dec 20, 2017","1,265.62","1,261.69","1,267.84","1,261.23","0.31%" -"Dec 19, 2017","1,261.72","1,261.70","1,265.26","1,258.97","0.00%" -"Dec 18, 2017","1,261.69","1,253.79","1,264.37","1,252.68","0.51%" -"Dec 15, 2017","1,255.26","1,252.83","1,261.89","1,251.94","0.19%" -"Dec 14, 2017","1,252.85","1,255.54","1,259.18","1,249.92","-0.21%" -"Dec 13, 2017","1,255.45","1,243.88","1,256.95","1,240.06","0.93%" -"Dec 12, 2017","1,243.85","1,242.25","1,246.62","1,236.31","0.15%" -"Dec 11, 2017","1,241.96","1,247.28","1,251.67","1,240.19","-0.50%" -"Dec 08, 2017","1,248.14","1,247.34","1,252.66","1,244.34","0.12%" -"Dec 07, 2017","1,246.70","1,264.26","1,264.82","1,244.11","-1.36%" -"Dec 06, 2017","1,263.94","1,266.62","1,269.32","1,262.39","-0.21%" -"Dec 05, 2017","1,266.55","1,276.54","1,277.41","1,261.11","-0.76%" -"Dec 04, 2017","1,276.23","1,272.93","1,277.24","1,271.80","-0.31%" -"Dec 01, 2017","1,280.26","1,274.29","1,289.58","1,271.58","0.43%" -"Nov 30, 2017","1,274.76","1,283.88","1,285.70","1,270.51","-0.69%" -"Nov 29, 2017","1,283.57","1,293.90","1,296.75","1,281.98","-0.81%" -"Nov 28, 2017","1,294.01","1,294.85","1,297.74","1,291.01","-0.04%" -"Nov 27, 2017","1,294.50","1,288.57","1,299.20","1,286.47","0.49%" -"Nov 24, 2017","1,288.22","1,291.51","1,293.61","1,286.15","-0.23%" -"Nov 23, 2017","1,291.25","1,292.40","1,293.46","1,287.46","-0.07%" -"Nov 22, 2017","1,292.12","1,280.38","1,294.75","1,278.77","0.91%" -"Nov 21, 2017","1,280.48","1,276.70","1,284.87","1,276.08","0.30%" -"Nov 20, 2017","1,276.70","1,292.68","1,294.80","1,274.92","-1.37%" -"Nov 17, 2017","1,294.37","1,278.44","1,297.04","1,277.94","1.24%" -"Nov 16, 2017","1,278.47","1,278.47","1,281.60","1,274.98","-0.03%" -"Nov 15, 2017","1,278.80","1,281.00","1,289.47","1,277.04","-0.15%" -"Nov 14, 2017","1,280.71","1,278.17","1,283.68","1,270.64","0.21%" -"Nov 13, 2017","1,277.99","1,275.16","1,280.22","1,274.29","0.14%" -"Nov 10, 2017","1,276.14","1,285.21","1,287.16","1,273.33","-0.71%" -"Nov 09, 2017","1,285.30","1,281.62","1,288.72","1,280.09","0.31%" -"Nov 08, 2017","1,281.30","1,275.85","1,287.52","1,275.23","0.45%" -"Nov 07, 2017","1,275.53","1,281.82","1,281.97","1,271.68","-0.47%" -"Nov 06, 2017","1,281.55","1,269.49","1,283.01","1,266.05","0.92%" -"Nov 03, 2017","1,269.85","1,276.80","1,279.74","1,265.55","-0.48%" -"Nov 02, 2017","1,275.99","1,274.91","1,284.49","1,273.64","0.13%" -"Nov 01, 2017","1,274.39","1,270.88","1,281.25","1,267.98","0.22%" -"Oct 31, 2017","1,271.58","1,276.29","1,278.36","1,268.01","-0.37%" -"Oct 30, 2017","1,276.24","1,273.59","1,279.29","1,268.80","0.23%" -"Oct 27, 2017","1,273.35","1,268.07","1,274.80","1,264.10","0.49%" -"Oct 26, 2017","1,267.11","1,277.56","1,282.80","1,265.69","-0.81%" -"Oct 25, 2017","1,277.41","1,276.85","1,280.39","1,271.03","0.05%" -"Oct 24, 2017","1,276.72","1,282.01","1,284.06","1,273.43","-0.42%" -"Oct 23, 2017","1,282.07","1,277.45","1,283.66","1,272.24","0.11%" -"Oct 20, 2017","1,280.72","1,289.57","1,291.47","1,277.88","-0.70%" -"Oct 19, 2017","1,289.79","1,281.25","1,290.69","1,276.61","0.67%" -"Oct 18, 2017","1,281.17","1,285.18","1,289.08","1,277.13","-0.31%" -"Oct 17, 2017","1,285.19","1,295.32","1,296.66","1,281.69","-0.74%" -"Oct 16, 2017","1,294.74","1,303.88","1,306.80","1,291.01","-0.78%" -"Oct 13, 2017","1,304.88","1,293.73","1,304.88","1,291.04","0.87%" -"Oct 12, 2017","1,293.60","1,292.01","1,297.60","1,289.47","0.14%" -"Oct 11, 2017","1,291.80","1,287.91","1,293.56","1,284.12","0.31%" -"Oct 10, 2017","1,287.85","1,284.35","1,294.63","1,282.29","0.29%" -"Oct 09, 2017","1,284.10","1,275.45","1,285.50","1,275.21","0.63%" -"Oct 06, 2017","1,276.03","1,269.09","1,277.18","1,260.89","0.63%" -"Oct 05, 2017","1,268.05","1,275.16","1,279.42","1,266.90","-0.52%" -"Oct 04, 2017","1,274.69","1,271.64","1,282.42","1,270.85","0.23%" -"Oct 03, 2017","1,271.75","1,270.71","1,274.71","1,267.91","0.05%" -"Oct 02, 2017","1,271.12","1,279.50","1,279.61","1,270.45","-0.65%" -"Sep 29, 2017","1,279.45","1,286.91","1,290.47","1,278.24","-0.61%" -"Sep 28, 2017","1,287.30","1,281.11","1,289.00","1,277.64","0.48%" -"Sep 27, 2017","1,281.12","1,293.61","1,296.54","1,281.12","-0.99%" -"Sep 26, 2017","1,293.89","1,309.90","1,313.92","1,293.04","-1.27%" -"Sep 25, 2017","1,310.55","1,297.67","1,311.90","1,290.63","1.02%" -"Sep 22, 2017","1,297.38","1,291.30","1,299.14","1,291.30","0.46%" -"Sep 21, 2017","1,291.39","1,301.02","1,302.07","1,287.99","-0.75%" -"Sep 20, 2017","1,301.15","1,310.94","1,316.25","1,295.96","-0.77%" -"Sep 19, 2017","1,311.28","1,307.30","1,311.78","1,304.98","0.28%" -"Sep 18, 2017","1,307.57","1,320.50","1,320.50","1,305.03","-0.91%" -"Sep 15, 2017","1,319.62","1,329.83","1,334.76","1,319.62","-0.77%" -"Sep 14, 2017","1,329.83","1,323.56","1,330.69","1,316.11","0.50%" -"Sep 13, 2017","1,323.25","1,331.95","1,335.05","1,320.91","-0.65%" -"Sep 12, 2017","1,331.94","1,327.86","1,332.43","1,322.55","0.35%" -"Sep 11, 2017","1,327.32","1,337.45","1,340.36","1,326.36","-1.44%" -"Sep 08, 2017","1,346.71","1,348.83","1,357.94","1,343.00","-0.18%" -"Sep 07, 2017","1,349.20","1,334.27","1,350.27","1,332.60","1.13%" -"Sep 06, 2017","1,334.14","1,339.55","1,342.84","1,331.66","-0.39%" -"Sep 05, 2017","1,339.33","1,335.07","1,345.18","1,327.96","0.35%" -"Sep 04, 2017","1,334.67","1,334.38","1,339.85","1,331.92","0.73%" -"Sep 01, 2017","1,324.97","1,321.80","1,329.20","1,316.65","0.22%" -"Aug 31, 2017","1,322.07","1,308.80","1,324.11","1,300.82","1.02%" -"Aug 30, 2017","1,308.76","1,309.26","1,313.87","1,305.26","-0.06%" -"Aug 29, 2017","1,309.50","1,317.75","1,326.14","1,304.93","-0.08%" -"Aug 28, 2017","1,310.49","1,292.76","1,312.99","1,292.49","1.50%" -"Aug 25, 2017","1,291.15","1,285.91","1,294.14","1,278.66","0.37%" -"Aug 24, 2017","1,286.33","1,289.98","1,291.30","1,284.55","-0.33%" -"Aug 23, 2017","1,290.62","1,285.56","1,292.03","1,283.09","0.46%" -"Aug 22, 2017","1,284.72","1,291.18","1,292.69","1,282.11","-0.50%" -"Aug 21, 2017","1,291.22","1,283.60","1,293.58","1,280.60","0.52%" -"Aug 18, 2017","1,284.50","1,288.20","1,301.20","1,283.64","-0.27%" -"Aug 17, 2017","1,288.01","1,283.61","1,290.47","1,282.20","0.38%" -"Aug 16, 2017","1,283.10","1,271.87","1,284.29","1,268.19","0.86%" -"Aug 15, 2017","1,272.13","1,282.36","1,282.77","1,267.98","-0.77%" -"Aug 14, 2017","1,281.95","1,289.09","1,289.82","1,278.12","-0.56%" -"Aug 11, 2017","1,289.21","1,286.45","1,292.26","1,281.55","0.18%" -"Aug 10, 2017","1,286.90","1,277.56","1,288.63","1,274.85","0.73%" -"Aug 09, 2017","1,277.55","1,261.41","1,279.06","1,260.96","1.34%" -"Aug 08, 2017","1,260.64","1,257.61","1,265.70","1,251.41","0.23%" -"Aug 07, 2017","1,257.69","1,259.03","1,260.38","1,255.68","-0.07%" -"Aug 04, 2017","1,258.60","1,269.01","1,270.94","1,254.75","-0.79%" -"Aug 03, 2017","1,268.65","1,266.46","1,271.37","1,258.70","0.15%" -"Aug 02, 2017","1,266.70","1,268.80","1,273.34","1,263.18","-0.19%" -"Aug 01, 2017","1,269.05","1,268.80","1,274.47","1,264.05","-0.04%" -"Jul 31, 2017","1,269.55","1,270.16","1,271.48","1,265.93","0.02%" -"Jul 28, 2017","1,269.25","1,259.36","1,271.34","1,257.45","0.81%" -"Jul 27, 2017","1,259.00","1,260.50","1,265.49","1,254.52","-0.17%" -"Jul 26, 2017","1,261.10","1,250.00","1,263.92","1,243.91","0.96%" -"Jul 25, 2017","1,249.05","1,254.77","1,258.18","1,249.01","-0.49%" -"Jul 24, 2017","1,255.24","1,255.66","1,259.18","1,251.78","0.03%" -"Jul 21, 2017","1,254.90","1,244.16","1,256.30","1,243.35","0.82%" -"Jul 20, 2017","1,244.74","1,241.03","1,247.98","1,235.24","0.31%" -"Jul 19, 2017","1,240.87","1,242.58","1,244.48","1,236.05","-0.13%" -"Jul 18, 2017","1,242.46","1,233.84","1,245.06","1,233.01","0.65%" -"Jul 17, 2017","1,234.40","1,228.60","1,236.44","1,228.30","0.44%" -"Jul 14, 2017","1,228.98","1,216.63","1,233.16","1,214.95","0.95%" -"Jul 13, 2017","1,217.45","1,220.21","1,224.92","1,216.63","-0.21%" -"Jul 12, 2017","1,220.00","1,217.95","1,226.10","1,214.51","0.19%" -"Jul 11, 2017","1,217.69","1,214.59","1,217.79","1,207.89","0.28%" -"Jul 10, 2017","1,214.35","1,213.70","1,215.60","1,204.85","0.12%" -"Jul 07, 2017","1,212.90","1,224.39","1,227.20","1,207.25","-1.00%" -"Jul 06, 2017","1,225.15","1,227.06","1,229.57","1,222.56","-0.15%" -"Jul 05, 2017","1,226.95","1,223.55","1,229.34","1,217.64","0.24%" -"Jul 04, 2017","1,223.97","1,221.94","1,226.74","1,220.69","0.29%" -"Jul 03, 2017","1,220.46","1,241.46","1,242.83","1,218.41","-1.70%" -"Jun 30, 2017","1,241.60","1,244.82","1,248.59","1,239.70","-0.33%" -"Jun 29, 2017","1,245.74","1,249.18","1,253.71","1,239.66","-0.29%" -"Jun 28, 2017","1,249.32","1,247.37","1,255.11","1,247.37","0.18%" -"Jun 27, 2017","1,247.10","1,243.65","1,253.13","1,241.12","0.21%" -"Jun 26, 2017","1,244.45","1,258.13","1,258.54","1,236.96","-0.99%" -"Jun 23, 2017","1,256.90","1,250.00","1,259.31","1,249.74","0.50%" -"Jun 22, 2017","1,250.62","1,245.55","1,255.05","1,245.55","0.33%" -"Jun 21, 2017","1,246.55","1,243.16","1,248.31","1,241.25","0.27%" -"Jun 20, 2017","1,243.19","1,244.04","1,248.38","1,241.38","-0.00%" -"Jun 19, 2017","1,243.25","1,254.00","1,256.12","1,243.22","-0.83%" -"Jun 16, 2017","1,253.63","1,254.36","1,257.63","1,251.55","-0.03%" -"Jun 15, 2017","1,254.00","1,260.70","1,267.04","1,251.68","-0.57%" -"Jun 14, 2017","1,261.18","1,266.28","1,279.87","1,257.15","-0.37%" -"Jun 13, 2017","1,265.85","1,264.75","1,269.42","1,259.66","0.01%" -"Jun 12, 2017","1,265.74","1,267.42","1,271.01","1,263.95","-0.05%" -"Jun 09, 2017","1,266.40","1,279.29","1,281.30","1,264.74","-0.98%" -"Jun 08, 2017","1,278.90","1,287.45","1,289.34","1,271.49","-0.62%" -"Jun 07, 2017","1,286.91","1,294.39","1,295.28","1,283.00","-0.55%" -"Jun 06, 2017","1,294.00","1,280.26","1,296.47","1,279.44","1.10%" -"Jun 05, 2017","1,279.95","1,279.34","1,283.77","1,278.00","-0.00%" -"Jun 02, 2017","1,279.98","1,266.11","1,279.98","1,259.00","1.13%" -"Jun 01, 2017","1,265.64","1,268.89","1,270.72","1,261.49","-0.23%" -"May 31, 2017","1,268.59","1,263.05","1,274.24","1,259.26","0.43%" -"May 30, 2017","1,263.10","1,267.24","1,270.86","1,259.39","-0.31%" -"May 29, 2017","1,266.97","1,267.47","1,269.12","1,265.12","-0.01%" -"May 26, 2017","1,267.05","1,255.60","1,269.88","1,252.88","0.90%" -"May 25, 2017","1,255.76","1,258.49","1,260.08","1,253.89","-0.22%" -"May 24, 2017","1,258.55","1,251.26","1,259.37","1,247.70","0.59%" -"May 23, 2017","1,251.16","1,260.13","1,264.18","1,250.46","-0.74%" -"May 22, 2017","1,260.46","1,256.10","1,263.00","1,251.61","0.39%" -"May 19, 2017","1,255.55","1,246.67","1,256.98","1,246.61","0.68%" -"May 18, 2017","1,247.05","1,261.56","1,265.54","1,245.90","-1.09%" -"May 17, 2017","1,260.74","1,237.31","1,261.55","1,236.30","1.94%" -"May 16, 2017","1,236.80","1,231.46","1,239.50","1,230.51","0.49%" -"May 15, 2017","1,230.71","1,228.40","1,237.76","1,227.20","0.15%" -"May 12, 2017","1,228.83","1,225.41","1,232.26","1,224.55","0.32%" -"May 11, 2017","1,224.85","1,218.74","1,228.20","1,217.81","0.47%" -"May 10, 2017","1,219.15","1,221.42","1,226.15","1,217.49","-0.18%" -"May 09, 2017","1,221.30","1,226.12","1,229.01","1,214.21","-0.41%" -"May 08, 2017","1,226.30","1,225.67","1,237.10","1,225.36","-0.12%" -"May 05, 2017","1,227.74","1,227.93","1,235.79","1,225.83","-0.00%" -"May 04, 2017","1,227.75","1,238.66","1,241.77","1,225.70","-0.86%" -"May 03, 2017","1,238.38","1,256.71","1,257.29","1,236.41","-1.47%" -"May 02, 2017","1,256.90","1,256.51","1,257.89","1,251.48","0.01%" -"May 01, 2017","1,256.80","1,268.60","1,271.60","1,254.16","-0.90%" -"Apr 28, 2017","1,268.15","1,264.26","1,269.08","1,263.30","0.28%" -"Apr 27, 2017","1,264.60","1,268.80","1,270.53","1,261.61","-0.35%" -"Apr 26, 2017","1,269.05","1,264.41","1,271.10","1,260.30","0.42%" -"Apr 25, 2017","1,263.76","1,276.96","1,278.57","1,261.81","-0.90%" -"Apr 24, 2017","1,275.30","1,269.88","1,277.48","1,266.01","-0.72%" -"Apr 21, 2017","1,284.50","1,281.96","1,288.67","1,278.43","0.21%" -"Apr 20, 2017","1,281.85","1,280.06","1,283.79","1,276.74","0.17%" -"Apr 19, 2017","1,279.66","1,290.21","1,291.51","1,276.48","-0.77%" -"Apr 18, 2017","1,289.64","1,284.94","1,292.70","1,279.40","0.38%" -"Apr 17, 2017","1,284.80","1,292.96","1,295.92","1,281.61","-0.07%" -"Apr 14, 2017","1,285.69","1,287.35","1,288.75","1,285.31","-0.16%" -"Apr 13, 2017","1,287.74","1,285.54","1,289.03","1,281.74","0.09%" -"Apr 12, 2017","1,286.60","1,274.51","1,287.29","1,272.42","0.95%" -"Apr 11, 2017","1,274.44","1,255.23","1,275.55","1,253.29","1.57%" -"Apr 10, 2017","1,254.73","1,254.26","1,257.70","1,247.50","0.05%" -"Apr 07, 2017","1,254.05","1,252.11","1,270.96","1,250.80","0.18%" -"Apr 06, 2017","1,251.80","1,256.40","1,259.46","1,249.85","-0.28%" -"Apr 05, 2017","1,255.30","1,255.73","1,257.78","1,243.85","-0.07%" -"Apr 04, 2017","1,256.22","1,255.46","1,261.90","1,254.46","0.23%" -"Apr 03, 2017","1,253.35","1,248.40","1,254.20","1,244.55","0.34%" -"Mar 31, 2017","1,249.13","1,242.83","1,251.11","1,240.05","0.47%" -"Mar 30, 2017","1,243.30","1,253.10","1,254.20","1,242.61","-0.73%" -"Mar 29, 2017","1,252.45","1,251.64","1,255.16","1,247.25","0.07%" -"Mar 28, 2017","1,251.63","1,253.82","1,258.46","1,247.52","-0.21%" -"Mar 27, 2017","1,254.30","1,248.01","1,261.53","1,247.69","0.81%" -"Mar 24, 2017","1,244.17","1,244.88","1,252.28","1,240.72","-0.09%" -"Mar 23, 2017","1,245.30","1,248.86","1,253.62","1,242.84","-0.32%" -"Mar 22, 2017","1,249.35","1,244.15","1,251.76","1,243.89","0.35%" -"Mar 21, 2017","1,245.00","1,233.78","1,248.10","1,226.82","0.90%" -"Mar 20, 2017","1,233.90","1,229.79","1,236.25","1,229.51","0.39%" -"Mar 17, 2017","1,229.15","1,227.31","1,232.45","1,225.06","0.19%" -"Mar 16, 2017","1,226.78","1,219.03","1,233.51","1,217.83","0.61%" -"Mar 15, 2017","1,219.40","1,199.11","1,222.66","1,197.93","1.69%" -"Mar 14, 2017","1,199.08","1,204.25","1,208.38","1,197.54","-0.41%" -"Mar 13, 2017","1,204.05","1,205.43","1,211.66","1,202.47","-0.04%" -"Mar 10, 2017","1,204.55","1,200.80","1,206.43","1,194.62","0.31%" -"Mar 09, 2017","1,200.83","1,207.63","1,209.17","1,199.12","-0.56%" -"Mar 08, 2017","1,207.58","1,215.65","1,218.68","1,206.13","-0.67%" -"Mar 07, 2017","1,215.67","1,225.62","1,227.25","1,213.67","-0.84%" -"Mar 06, 2017","1,225.96","1,232.81","1,237.17","1,224.65","-0.68%" -"Mar 03, 2017","1,234.30","1,234.80","1,236.28","1,222.59","-0.08%" -"Mar 02, 2017","1,235.30","1,249.44","1,250.36","1,231.16","-1.09%" -"Mar 01, 2017","1,248.94","1,248.57","1,250.68","1,236.53","0.03%" -"Feb 28, 2017","1,248.59","1,252.48","1,258.37","1,247.48","-0.33%" -"Feb 27, 2017","1,252.76","1,257.41","1,263.88","1,250.48","-0.33%" -"Feb 24, 2017","1,256.94","1,249.52","1,260.48","1,247.54","0.60%" -"Feb 23, 2017","1,249.41","1,237.79","1,251.21","1,235.20","0.95%" -"Feb 22, 2017","1,237.69","1,236.22","1,240.72","1,231.62","0.14%" -"Feb 21, 2017","1,235.97","1,237.03","1,238.92","1,225.80","-0.19%" -"Feb 20, 2017","1,238.38","1,235.20","1,239.29","1,232.62","0.25%" -"Feb 17, 2017","1,235.29","1,239.25","1,243.84","1,234.52","-0.31%" -"Feb 16, 2017","1,239.14","1,233.34","1,242.71","1,232.04","0.50%" -"Feb 15, 2017","1,232.94","1,228.89","1,233.61","1,216.80","0.35%" -"Feb 14, 2017","1,228.61","1,225.74","1,234.87","1,221.75","0.26%" -"Feb 13, 2017","1,225.44","1,231.84","1,232.65","1,219.37","-0.70%" -"Feb 10, 2017","1,234.12","1,230.62","1,237.07","1,221.12","0.26%" -"Feb 09, 2017","1,230.89","1,242.48","1,244.52","1,230.22","-0.89%" -"Feb 08, 2017","1,241.99","1,234.04","1,245.06","1,230.29","0.67%" -"Feb 07, 2017","1,233.72","1,235.23","1,235.86","1,227.41","-0.15%" -"Feb 06, 2017","1,235.59","1,219.67","1,235.84","1,219.01","1.29%" -"Feb 03, 2017","1,219.88","1,215.89","1,221.48","1,207.18","0.32%" -"Feb 02, 2017","1,215.93","1,209.53","1,225.41","1,208.26","0.53%" -"Feb 01, 2017","1,209.49","1,210.89","1,213.59","1,198.12","-0.09%" -"Jan 31, 2017","1,210.63","1,195.38","1,215.49","1,193.83","1.28%" -"Jan 30, 2017","1,195.35","1,192.85","1,199.88","1,188.15","0.31%" -"Jan 27, 2017","1,191.60","1,188.78","1,192.06","1,181.04","0.25%" -"Jan 26, 2017","1,188.57","1,199.93","1,202.67","1,184.11","-0.98%" -"Jan 25, 2017","1,200.31","1,208.79","1,209.84","1,192.83","-0.70%" -"Jan 24, 2017","1,208.81","1,217.40","1,219.66","1,206.02","-0.71%" -"Jan 23, 2017","1,217.48","1,209.43","1,219.54","1,209.27","0.62%" -"Jan 20, 2017","1,209.96","1,205.16","1,215.30","1,198.68","0.40%" -"Jan 19, 2017","1,205.14","1,203.92","1,206.88","1,195.86","0.12%" -"Jan 18, 2017","1,203.64","1,216.56","1,217.60","1,201.91","-1.06%" -"Jan 17, 2017","1,216.54","1,202.80","1,218.72","1,202.38","1.11%" -"Jan 16, 2017","1,203.17","1,200.55","1,208.23","1,198.17","0.46%" -"Jan 13, 2017","1,197.66","1,195.96","1,201.20","1,187.93","0.17%" -"Jan 12, 2017","1,195.66","1,191.75","1,207.07","1,191.00","0.32%" -"Jan 11, 2017","1,191.85","1,187.74","1,198.79","1,177.33","0.35%" -"Jan 10, 2017","1,187.74","1,181.32","1,190.57","1,179.86","0.55%" -"Jan 09, 2017","1,181.27","1,172.64","1,185.91","1,171.89","0.72%" -"Jan 06, 2017","1,172.81","1,180.38","1,181.49","1,170.37","-0.65%" -"Jan 05, 2017","1,180.48","1,163.67","1,184.99","1,162.38","1.43%" -"Jan 04, 2017","1,163.80","1,159.28","1,168.23","1,156.35","0.42%" -"Jan 03, 2017","1,158.91","1,150.80","1,163.61","1,145.77","0.73%" -"Jan 02, 2017","1,150.52","1,150.55","1,152.66","1,149.66","-0.12%" -"Dec 30, 2016","1,151.85","1,158.68","1,163.53","1,149.49","-0.56%" -"Dec 29, 2016","1,158.32","1,142.39","1,159.58","1,140.81","1.39%" -"Dec 28, 2016","1,142.45","1,139.64","1,144.84","1,136.54","0.27%" -"Dec 27, 2016","1,139.35","1,134.06","1,149.48","1,131.85","0.48%" -"Dec 26, 2016","1,133.94","1,133.94","1,133.94","1,133.94","0.04%" -"Dec 23, 2016","1,133.49","1,128.89","1,136.12","1,128.18","0.43%" -"Dec 22, 2016","1,128.69","1,131.80","1,134.17","1,127.43","-0.27%" -"Dec 21, 2016","1,131.80","1,132.14","1,137.50","1,129.29","-0.04%" -"Dec 20, 2016","1,132.20","1,139.34","1,140.08","1,125.63","-0.60%" -"Dec 19, 2016","1,139.05","1,134.35","1,142.70","1,134.14","0.44%" -"Dec 16, 2016","1,134.09","1,128.44","1,141.28","1,126.46","0.50%" -"Dec 15, 2016","1,128.43","1,143.81","1,144.50","1,122.44","-1.38%" -"Dec 14, 2016","1,144.25","1,158.39","1,165.10","1,139.47","-1.22%" -"Dec 13, 2016","1,158.35","1,162.45","1,165.16","1,154.71","-0.33%" -"Dec 12, 2016","1,162.21","1,159.01","1,165.85","1,151.43","0.37%" -"Dec 09, 2016","1,157.87","1,170.48","1,172.22","1,156.17","-1.08%" -"Dec 08, 2016","1,170.55","1,173.65","1,178.62","1,168.88","-0.29%" -"Dec 07, 2016","1,174.00","1,169.64","1,180.30","1,165.35","0.36%" -"Dec 06, 2016","1,169.74","1,170.18","1,175.40","1,166.53","-0.04%" -"Dec 05, 2016","1,170.26","1,182.80","1,187.79","1,157.08","-0.57%" -"Dec 02, 2016","1,176.92","1,171.05","1,178.03","1,166.20","0.48%" -"Dec 01, 2016","1,171.30","1,173.29","1,177.07","1,160.77","-0.15%" -"Nov 30, 2016","1,173.11","1,188.72","1,195.36","1,170.75","-1.29%" -"Nov 29, 2016","1,188.46","1,193.30","1,195.06","1,180.97","-0.42%" -"Nov 28, 2016","1,193.44","1,183.10","1,197.60","1,182.96","0.83%" -"Nov 25, 2016","1,183.63","1,184.96","1,193.96","1,171.96","-0.03%" -"Nov 24, 2016","1,184.00","1,188.11","1,191.34","1,181.79","-0.32%" -"Nov 23, 2016","1,187.77","1,212.24","1,215.05","1,181.57","-2.02%" -"Nov 22, 2016","1,212.24","1,214.29","1,221.45","1,206.24","-0.15%" -"Nov 21, 2016","1,214.05","1,208.10","1,218.02","1,205.74","0.44%" -"Nov 18, 2016","1,208.69","1,216.39","1,218.13","1,203.90","-0.63%" -"Nov 17, 2016","1,216.39","1,225.68","1,231.80","1,211.12","-0.73%" -"Nov 16, 2016","1,225.30","1,228.38","1,233.47","1,221.60","-0.23%" -"Nov 15, 2016","1,228.08","1,220.24","1,231.54","1,219.06","0.64%" -"Nov 14, 2016","1,220.26","1,227.91","1,231.56","1,211.47","-0.44%" -"Nov 11, 2016","1,225.68","1,259.82","1,265.50","1,219.50","-2.71%" -"Nov 10, 2016","1,259.76","1,277.68","1,292.22","1,252.28","-1.43%" -"Nov 09, 2016","1,278.00","1,275.45","1,337.60","1,269.38","0.19%" -"Nov 08, 2016","1,275.64","1,281.66","1,290.84","1,273.04","-0.45%" -"Nov 07, 2016","1,281.41","1,291.61","1,295.90","1,277.80","-1.75%" -"Nov 04, 2016","1,304.25","1,302.61","1,307.11","1,294.65","0.04%" -"Nov 03, 2016","1,303.75","1,297.16","1,306.90","1,285.51","0.49%" -"Nov 02, 2016","1,297.39","1,287.90","1,308.26","1,287.50","0.72%" -"Nov 01, 2016","1,288.15","1,277.17","1,292.21","1,275.55","0.84%" -"Oct 31, 2016","1,277.38","1,278.01","1,279.64","1,270.89","0.08%" -"Oct 28, 2016","1,276.30","1,268.39","1,284.53","1,262.42","0.63%" -"Oct 27, 2016","1,268.30","1,267.15","1,273.17","1,265.40","0.10%" -"Oct 26, 2016","1,266.99","1,273.30","1,276.89","1,264.58","-0.58%" -"Oct 25, 2016","1,274.35","1,265.67","1,277.17","1,262.40","0.78%" -"Oct 24, 2016","1,264.44","1,266.21","1,272.25","1,260.75","-0.18%" -"Oct 21, 2016","1,266.75","1,266.10","1,268.43","1,261.20","0.06%" -"Oct 20, 2016","1,266.00","1,269.55","1,274.02","1,264.55","-0.27%" -"Oct 19, 2016","1,269.40","1,262.63","1,273.84","1,260.24","0.52%" -"Oct 18, 2016","1,262.84","1,256.60","1,265.38","1,254.90","0.57%" -"Oct 17, 2016","1,255.70","1,250.25","1,257.67","1,250.25","0.41%" -"Oct 14, 2016","1,250.55","1,258.79","1,259.65","1,247.51","-0.60%" -"Oct 13, 2016","1,258.12","1,256.14","1,262.41","1,253.53","0.22%" -"Oct 12, 2016","1,255.33","1,253.45","1,259.26","1,250.31","0.17%" -"Oct 11, 2016","1,253.25","1,259.06","1,262.66","1,252.60","-0.52%" -"Oct 10, 2016","1,259.74","1,257.47","1,265.35","1,256.59","0.22%" -"Oct 07, 2016","1,256.97","1,255.34","1,265.74","1,241.68","0.18%" -"Oct 06, 2016","1,254.74","1,267.73","1,269.94","1,250.20","-0.94%" -"Oct 05, 2016","1,266.70","1,269.41","1,277.51","1,262.12","-0.13%" -"Oct 04, 2016","1,268.30","1,312.18","1,313.52","1,266.81","-3.33%" -"Oct 03, 2016","1,311.96","1,318.24","1,320.11","1,309.58","-0.30%" -"Sep 30, 2016","1,315.96","1,320.56","1,328.23","1,312.83","-0.33%" -"Sep 29, 2016","1,320.27","1,322.08","1,326.02","1,315.89","-0.09%" -"Sep 28, 2016","1,321.41","1,326.90","1,327.74","1,317.89","-0.45%" -"Sep 27, 2016","1,327.36","1,337.77","1,339.78","1,324.81","-0.79%" -"Sep 26, 2016","1,337.97","1,337.07","1,342.46","1,332.56","0.03%" -"Sep 23, 2016","1,337.61","1,337.69","1,341.06","1,333.59","0.02%" -"Sep 22, 2016","1,337.30","1,335.12","1,344.27","1,331.56","0.03%" -"Sep 21, 2016","1,336.85","1,315.10","1,337.22","1,308.60","1.65%" -"Sep 20, 2016","1,315.10","1,312.80","1,318.50","1,312.31","0.13%" -"Sep 19, 2016","1,313.39","1,310.77","1,318.32","1,309.27","0.23%" -"Sep 16, 2016","1,310.43","1,313.91","1,318.43","1,306.62","-0.29%" -"Sep 15, 2016","1,314.25","1,322.72","1,327.53","1,309.70","-0.66%" -"Sep 14, 2016","1,322.97","1,318.88","1,326.26","1,316.13","0.30%" -"Sep 13, 2016","1,319.05","1,327.99","1,332.64","1,315.72","-0.65%" -"Sep 12, 2016","1,327.63","1,328.29","1,330.68","1,320.79","-0.04%" -"Sep 09, 2016","1,328.15","1,338.41","1,340.03","1,327.70","-0.76%" -"Sep 08, 2016","1,338.35","1,345.11","1,349.78","1,335.54","-0.51%" -"Sep 07, 2016","1,345.24","1,348.67","1,353.01","1,342.74","-0.34%" -"Sep 06, 2016","1,349.88","1,325.37","1,352.16","1,324.77","1.72%" -"Sep 05, 2016","1,327.08","1,324.42","1,329.32","1,322.31","0.16%" -"Sep 02, 2016","1,325.01","1,314.13","1,329.09","1,309.51","0.85%" -"Sep 01, 2016","1,313.79","1,309.12","1,315.38","1,302.23","0.37%" -"Aug 31, 2016","1,308.95","1,311.25","1,316.54","1,305.41","-0.17%" -"Aug 30, 2016","1,311.15","1,323.20","1,325.70","1,309.15","-0.93%" -"Aug 29, 2016","1,323.41","1,320.47","1,325.43","1,315.10","0.16%" -"Aug 26, 2016","1,321.33","1,321.89","1,341.54","1,318.89","-0.03%" -"Aug 25, 2016","1,321.70","1,323.75","1,327.50","1,317.96","-0.15%" -"Aug 24, 2016","1,323.75","1,337.88","1,340.52","1,323.70","-1.07%" -"Aug 23, 2016","1,338.10","1,339.34","1,345.45","1,335.65","-0.07%" -"Aug 22, 2016","1,339.02","1,340.83","1,341.65","1,332.10","-0.21%" -"Aug 19, 2016","1,341.78","1,352.91","1,353.44","1,337.93","-0.78%" -"Aug 18, 2016","1,352.34","1,349.05","1,356.60","1,345.84","0.27%" -"Aug 17, 2016","1,348.66","1,345.70","1,352.07","1,337.70","0.19%" -"Aug 16, 2016","1,346.08","1,339.69","1,358.38","1,339.47","0.50%" -"Aug 15, 2016","1,339.36","1,338.08","1,344.21","1,335.95","0.24%" -"Aug 12, 2016","1,336.19","1,338.70","1,356.28","1,333.98","-0.20%" -"Aug 11, 2016","1,338.87","1,347.26","1,353.78","1,335.93","-0.58%" -"Aug 10, 2016","1,346.67","1,340.95","1,357.57","1,340.30","0.44%" -"Aug 09, 2016","1,340.75","1,334.85","1,343.24","1,330.47","0.40%" -"Aug 08, 2016","1,335.38","1,335.18","1,338.53","1,329.84","-0.03%" -"Aug 05, 2016","1,335.80","1,360.72","1,365.51","1,334.87","-1.87%" -"Aug 04, 2016","1,361.20","1,358.41","1,365.45","1,348.90","0.24%" -"Aug 03, 2016","1,357.90","1,363.65","1,366.85","1,354.16","-0.42%" -"Aug 02, 2016","1,363.68","1,353.47","1,367.81","1,347.06","0.77%" -"Aug 01, 2016","1,353.21","1,349.88","1,355.22","1,346.24","0.17%" -"Jul 29, 2016","1,350.91","1,335.75","1,355.42","1,330.00","1.13%" -"Jul 28, 2016","1,335.79","1,339.38","1,345.53","1,332.23","-0.30%" -"Jul 27, 2016","1,339.86","1,320.04","1,342.62","1,315.74","1.48%" -"Jul 26, 2016","1,320.32","1,315.59","1,325.08","1,313.83","0.36%" -"Jul 25, 2016","1,315.56","1,322.59","1,324.12","1,312.43","-0.52%" -"Jul 22, 2016","1,322.38","1,330.94","1,334.22","1,319.58","-0.65%" -"Jul 21, 2016","1,331.09","1,316.31","1,334.38","1,310.95","1.15%" -"Jul 20, 2016","1,315.95","1,331.81","1,336.34","1,312.49","-1.21%" -"Jul 19, 2016","1,332.13","1,328.51","1,335.29","1,325.61","0.25%" -"Jul 18, 2016","1,328.79","1,332.81","1,335.70","1,323.84","-0.68%" -"Jul 15, 2016","1,337.85","1,336.31","1,338.90","1,322.55","0.21%" -"Jul 14, 2016","1,335.10","1,344.01","1,347.10","1,320.22","-0.58%" -"Jul 13, 2016","1,342.85","1,332.40","1,345.60","1,327.70","0.84%" -"Jul 12, 2016","1,331.65","1,355.16","1,358.20","1,330.15","-1.74%" -"Jul 11, 2016","1,355.25","1,368.71","1,375.11","1,351.20","-0.85%" -"Jul 08, 2016","1,366.80","1,359.21","1,369.09","1,336.08","0.46%" -"Jul 07, 2016","1,360.60","1,363.56","1,370.26","1,350.80","-0.24%" -"Jul 06, 2016","1,363.89","1,356.74","1,375.30","1,356.23","0.57%" -"Jul 05, 2016","1,356.14","1,351.15","1,357.71","1,338.43","0.40%" -"Jul 04, 2016","1,350.78","1,342.58","1,357.97","1,338.34","0.63%" -"Jul 01, 2016","1,342.30","1,323.38","1,344.60","1,320.88","1.52%" -"Jun 30, 2016","1,322.18","1,317.71","1,324.11","1,312.95","0.25%" -"Jun 29, 2016","1,318.89","1,312.39","1,328.23","1,311.29","0.49%" -"Jun 28, 2016","1,312.51","1,324.45","1,326.39","1,305.62","-0.93%" -"Jun 27, 2016","1,324.80","1,326.26","1,335.70","1,317.85","0.67%" -"Jun 24, 2016","1,315.98","1,253.86","1,358.70","1,251.66","4.80%" -"Jun 23, 2016","1,255.65","1,264.31","1,271.65","1,255.46","-0.84%" -"Jun 22, 2016","1,266.31","1,268.45","1,271.00","1,261.41","-0.17%" -"Jun 21, 2016","1,268.44","1,288.68","1,294.38","1,264.48","-1.68%" -"Jun 20, 2016","1,290.15","1,285.80","1,292.36","1,277.74","-0.65%" -"Jun 17, 2016","1,298.60","1,279.35","1,299.88","1,277.19","1.52%" -"Jun 16, 2016","1,279.14","1,293.51","1,316.11","1,278.77","-0.96%" -"Jun 15, 2016","1,291.49","1,285.14","1,297.09","1,278.43","0.44%" -"Jun 14, 2016","1,285.85","1,283.39","1,290.18","1,276.38","0.14%" -"Jun 13, 2016","1,284.05","1,274.05","1,287.40","1,272.70","0.77%" -"Jun 10, 2016","1,274.20","1,269.41","1,278.10","1,264.47","0.40%" -"Jun 09, 2016","1,269.15","1,262.55","1,272.06","1,257.56","0.56%" -"Jun 08, 2016","1,262.14","1,244.64","1,264.19","1,243.09","1.47%" -"Jun 07, 2016","1,243.85","1,245.56","1,246.66","1,234.90","-0.11%" -"Jun 06, 2016","1,245.24","1,242.79","1,248.79","1,239.93","0.06%" -"Jun 03, 2016","1,244.49","1,211.16","1,244.91","1,207.01","2.77%" -"Jun 02, 2016","1,210.95","1,213.62","1,218.05","1,209.99","-0.20%" -"Jun 01, 2016","1,213.35","1,216.40","1,221.25","1,206.50","-0.16%" -"May 31, 2016","1,215.24","1,206.45","1,218.86","1,206.20","0.80%" -"May 30, 2016","1,205.58","1,213.38","1,213.83","1,199.97","-0.56%" -"May 27, 2016","1,212.40","1,219.86","1,223.70","1,206.70","-0.64%" -"May 26, 2016","1,220.15","1,223.40","1,234.01","1,218.55","-0.33%" -"May 25, 2016","1,224.18","1,227.00","1,230.21","1,217.65","-0.23%" -"May 24, 2016","1,227.00","1,249.21","1,251.26","1,226.53","-1.78%" -"May 23, 2016","1,249.24","1,251.41","1,256.36","1,243.39","-0.24%" -"May 20, 2016","1,252.30","1,255.24","1,259.98","1,248.70","-0.22%" -"May 19, 2016","1,255.10","1,258.60","1,261.92","1,245.00","-0.25%" -"May 18, 2016","1,258.30","1,279.71","1,281.51","1,255.05","-1.70%" -"May 17, 2016","1,280.00","1,274.06","1,282.50","1,269.50","0.48%" -"May 16, 2016","1,273.86","1,272.51","1,288.60","1,271.33","0.02%" -"May 13, 2016","1,273.60","1,263.61","1,276.60","1,263.51","0.80%" -"May 12, 2016","1,263.49","1,277.80","1,280.99","1,263.49","-1.11%" -"May 11, 2016","1,277.69","1,265.73","1,279.18","1,264.79","0.89%" -"May 10, 2016","1,266.40","1,264.11","1,269.50","1,257.65","0.20%" -"May 09, 2016","1,263.85","1,284.93","1,287.98","1,261.09","-1.93%" -"May 06, 2016","1,288.70","1,278.50","1,296.10","1,274.40","0.83%" -"May 05, 2016","1,278.05","1,279.85","1,286.38","1,269.24","-0.11%" -"May 04, 2016","1,279.49","1,285.99","1,289.68","1,271.64","-0.51%" -"May 03, 2016","1,286.00","1,291.76","1,302.40","1,282.46","-0.43%" -"May 02, 2016","1,291.60","1,293.69","1,303.98","1,287.48","-0.17%" -"Apr 29, 2016","1,293.74","1,266.27","1,296.49","1,265.14","2.15%" -"Apr 28, 2016","1,266.48","1,245.66","1,270.10","1,238.05","1.64%" -"Apr 27, 2016","1,246.10","1,242.60","1,251.30","1,240.66","0.21%" -"Apr 26, 2016","1,243.44","1,238.57","1,245.15","1,231.95","0.45%" -"Apr 25, 2016","1,237.90","1,232.10","1,242.30","1,230.10","0.45%" -"Apr 22, 2016","1,232.30","1,247.44","1,252.98","1,227.35","-1.33%" -"Apr 21, 2016","1,248.85","1,243.49","1,270.48","1,242.88","0.39%" -"Apr 20, 2016","1,244.05","1,251.00","1,258.75","1,242.60","-0.52%" -"Apr 19, 2016","1,250.50","1,232.46","1,257.20","1,227.70","1.54%" -"Apr 18, 2016","1,231.55","1,234.10","1,242.00","1,230.16","-0.20%" -"Apr 15, 2016","1,234.05","1,227.55","1,236.29","1,225.29","0.54%" -"Apr 14, 2016","1,227.39","1,242.05","1,244.38","1,223.79","-1.27%" -"Apr 13, 2016","1,243.14","1,255.88","1,257.18","1,240.24","-1.02%" -"Apr 12, 2016","1,255.94","1,259.05","1,262.98","1,251.29","-0.16%" -"Apr 11, 2016","1,257.95","1,239.79","1,259.10","1,239.79","1.42%" -"Apr 08, 2016","1,240.39","1,240.18","1,243.18","1,229.62","-0.02%" -"Apr 07, 2016","1,240.69","1,223.16","1,243.90","1,222.70","1.50%" -"Apr 06, 2016","1,222.35","1,231.86","1,232.41","1,217.20","-0.71%" -"Apr 05, 2016","1,231.14","1,215.31","1,237.05","1,214.90","1.30%" -"Apr 04, 2016","1,215.40","1,220.35","1,223.35","1,214.70","-0.58%" -"Apr 01, 2016","1,222.49","1,232.68","1,235.36","1,208.84","-0.83%" -"Mar 31, 2016","1,232.70","1,226.06","1,240.05","1,224.81","0.64%" -"Mar 30, 2016","1,224.85","1,241.30","1,243.30","1,223.33","-1.42%" -"Mar 29, 2016","1,242.55","1,221.40","1,243.65","1,215.65","1.76%" -"Mar 28, 2016","1,221.05","1,214.51","1,222.96","1,208.55","0.38%" -"Mar 25, 2016","1,216.47","1,216.47","1,216.47","1,216.47","-0.04%" -"Mar 24, 2016","1,216.99","1,221.20","1,224.40","1,213.01","-0.26%" -"Mar 23, 2016","1,220.17","1,248.18","1,249.47","1,215.47","-2.26%" -"Mar 22, 2016","1,248.38","1,244.22","1,259.97","1,242.47","0.37%" -"Mar 21, 2016","1,243.74","1,254.70","1,256.12","1,240.76","-0.92%" -"Mar 18, 2016","1,255.30","1,258.16","1,267.22","1,248.30","-0.21%" -"Mar 17, 2016","1,257.90","1,261.70","1,271.65","1,254.65","-0.41%" -"Mar 16, 2016","1,263.08","1,232.84","1,264.38","1,227.24","2.49%" -"Mar 15, 2016","1,232.38","1,234.68","1,237.58","1,226.08","-0.23%" -"Mar 14, 2016","1,235.28","1,250.98","1,261.09","1,229.28","-1.05%" -"Mar 11, 2016","1,248.44","1,271.44","1,282.89","1,248.44","-1.81%" -"Mar 10, 2016","1,271.44","1,252.89","1,273.79","1,237.44","1.48%" -"Mar 09, 2016","1,252.94","1,261.30","1,264.99","1,243.87","-0.65%" -"Mar 08, 2016","1,261.10","1,267.49","1,278.19","1,260.04","-0.50%" -"Mar 07, 2016","1,267.39","1,259.48","1,273.29","1,256.68","0.63%" -"Mar 04, 2016","1,259.44","1,263.89","1,279.98","1,250.29","-0.34%" -"Mar 03, 2016","1,263.69","1,240.30","1,267.44","1,237.34","1.89%" -"Mar 02, 2016","1,240.30","1,232.35","1,244.29","1,224.48","0.65%" -"Mar 01, 2016","1,232.26","1,238.19","1,249.00","1,227.44","-0.47%" -"Feb 29, 2016","1,238.14","1,222.73","1,241.29","1,217.98","1.27%" -"Feb 26, 2016","1,222.60","1,234.44","1,240.05","1,211.59","-0.98%" -"Feb 25, 2016","1,234.64","1,229.44","1,243.09","1,221.18","0.43%" -"Feb 24, 2016","1,229.35","1,227.39","1,253.30","1,221.93","0.15%" -"Feb 23, 2016","1,227.46","1,208.76","1,227.56","1,207.20","1.55%" -"Feb 22, 2016","1,208.74","1,226.14","1,226.35","1,202.02","-1.58%" -"Feb 19, 2016","1,228.19","1,233.12","1,234.79","1,219.79","-0.34%" -"Feb 18, 2016","1,232.35","1,209.16","1,239.90","1,200.75","1.92%" -"Feb 17, 2016","1,209.14","1,200.19","1,213.88","1,195.79","0.73%" -"Feb 16, 2016","1,200.35","1,209.32","1,217.18","1,190.79","-0.79%" -"Feb 15, 2016","1,209.95","1,232.81","1,234.82","1,202.30","-2.27%" -"Feb 12, 2016","1,238.05","1,246.94","1,249.05","1,232.23","-0.71%" -"Feb 11, 2016","1,246.89","1,197.44","1,260.98","1,196.21","4.13%" -"Feb 10, 2016","1,197.49","1,188.95","1,197.74","1,181.29","0.73%" -"Feb 09, 2016","1,188.85","1,191.14","1,199.29","1,185.48","-0.19%" -"Feb 08, 2016","1,191.14","1,170.89","1,200.98","1,164.09","1.49%" -"Feb 05, 2016","1,173.69","1,155.74","1,174.90","1,145.36","1.55%" -"Feb 04, 2016","1,155.74","1,142.95","1,157.59","1,139.43","1.12%" -"Feb 03, 2016","1,142.93","1,129.16","1,146.00","1,124.35","1.22%" -"Feb 02, 2016","1,129.12","1,128.82","1,130.70","1,122.44","0.02%" -"Feb 01, 2016","1,128.85","1,117.88","1,130.09","1,116.24","0.97%" -"Jan 29, 2016","1,118.04","1,115.16","1,118.50","1,108.90","0.26%" -"Jan 28, 2016","1,115.14","1,125.57","1,126.01","1,111.96","-0.93%" -"Jan 27, 2016","1,125.59","1,120.36","1,128.20","1,114.90","0.45%" -"Jan 26, 2016","1,120.57","1,108.02","1,123.30","1,107.17","1.13%" -"Jan 25, 2016","1,108.05","1,097.85","1,109.05","1,097.35","0.89%" -"Jan 22, 2016","1,098.30","1,101.60","1,102.98","1,093.98","-0.30%" -"Jan 21, 2016","1,101.60","1,101.04","1,104.98","1,092.54","0.05%" -"Jan 20, 2016","1,101.02","1,087.10","1,109.60","1,086.73","1.28%" -"Jan 19, 2016","1,087.12","1,088.84","1,094.70","1,082.95","-0.16%" -"Jan 18, 2016","1,088.90","1,089.51","1,093.26","1,087.25","-0.02%" -"Jan 15, 2016","1,089.10","1,077.94","1,097.59","1,076.18","1.03%" -"Jan 14, 2016","1,078.00","1,093.52","1,095.36","1,071.40","-1.42%" -"Jan 13, 2016","1,093.49","1,087.29","1,095.68","1,079.64","0.59%" -"Jan 12, 2016","1,087.05","1,094.30","1,099.54","1,083.61","-0.66%" -"Jan 11, 2016","1,094.26","1,104.19","1,108.51","1,093.91","-0.90%" -"Jan 08, 2016","1,104.24","1,109.45","1,112.40","1,093.93","-0.45%" -"Jan 07, 2016","1,109.25","1,094.45","1,110.20","1,091.09","1.35%" -"Jan 06, 2016","1,094.45","1,077.55","1,095.45","1,074.70","1.56%" -"Jan 05, 2016","1,077.66","1,074.66","1,082.30","1,072.70","0.28%" -"Jan 04, 2016","1,074.70","1,065.36","1,083.70","1,061.90","1.32%" -"Jan 01, 2016","1,060.74","1,061.21","1,061.41","1,060.74","-0.05%" -"Dec 31, 2015","1,061.30","1,061.38","1,063.68","1,058.38","-0.01%" -"Dec 30, 2015","1,061.45","1,069.38","1,072.85","1,059.55","-0.71%" -"Dec 29, 2015","1,068.99","1,069.20","1,075.79","1,067.29","-0.01%" -"Dec 28, 2015","1,069.05","1,076.00","1,077.15","1,066.30","-0.63%" -"Dec 25, 2015","1,075.88","1,075.88","1,075.88","1,075.88","0.00%" -"Dec 24, 2015","1,075.88","1,070.90","1,077.85","1,070.05","0.52%" -"Dec 23, 2015","1,070.35","1,072.21","1,075.75","1,068.25","-0.19%" -"Dec 22, 2015","1,072.36","1,078.41","1,081.00","1,071.85","-0.56%" -"Dec 21, 2015","1,078.44","1,065.94","1,081.88","1,063.88","1.15%" -"Dec 18, 2015","1,066.19","1,051.72","1,070.79","1,051.05","1.37%" -"Dec 17, 2015","1,051.74","1,072.85","1,073.09","1,047.64","-1.98%" -"Dec 16, 2015","1,072.94","1,060.73","1,078.59","1,060.64","1.15%" -"Dec 15, 2015","1,060.74","1,062.89","1,068.89","1,059.59","-0.20%" -"Dec 14, 2015","1,062.90","1,073.69","1,077.70","1,062.77","-1.12%" -"Dec 11, 2015","1,074.89","1,071.60","1,079.98","1,062.38","0.31%" -"Dec 10, 2015","1,071.54","1,073.21","1,076.46","1,069.70","-0.16%" -"Dec 09, 2015","1,073.21","1,074.74","1,085.60","1,069.59","-0.14%" -"Dec 08, 2015","1,074.69","1,070.49","1,078.85","1,067.63","0.40%" -"Dec 07, 2015","1,070.39","1,086.01","1,087.00","1,070.06","-1.53%" -"Dec 04, 2015","1,086.99","1,062.39","1,089.09","1,058.14","2.30%" -"Dec 03, 2015","1,062.57","1,053.71","1,065.80","1,046.25","0.84%" -"Dec 02, 2015","1,053.69","1,069.49","1,071.55","1,050.63","-1.48%" -"Dec 01, 2015","1,069.49","1,064.55","1,074.72","1,063.38","0.48%" -"Nov 30, 2015","1,064.42","1,057.80","1,068.90","1,053.10","0.53%" -"Nov 27, 2015","1,058.81","1,071.59","1,073.90","1,052.86","-1.25%" -"Nov 26, 2015","1,072.25","1,071.91","1,075.46","1,070.35","0.08%" -"Nov 25, 2015","1,071.39","1,075.55","1,080.85","1,067.75","-0.38%" -"Nov 24, 2015","1,075.49","1,069.24","1,080.89","1,068.99","0.58%" -"Nov 23, 2015","1,069.34","1,077.01","1,077.01","1,067.00","-0.81%" -"Nov 20, 2015","1,078.10","1,082.30","1,087.80","1,075.68","-0.40%" -"Nov 19, 2015","1,082.40","1,071.15","1,086.50","1,069.75","1.05%" -"Nov 18, 2015","1,071.14","1,070.30","1,073.18","1,065.34","0.07%" -"Nov 17, 2015","1,070.37","1,082.86","1,084.82","1,065.59","-1.15%" -"Nov 16, 2015","1,082.85","1,088.14","1,098.29","1,081.32","-0.07%" -"Nov 13, 2015","1,083.64","1,085.05","1,088.29","1,080.04","-0.13%" -"Nov 12, 2015","1,085.05","1,086.26","1,089.60","1,074.66","-0.10%" -"Nov 11, 2015","1,086.14","1,089.85","1,093.69","1,084.04","-0.35%" -"Nov 10, 2015","1,089.91","1,092.01","1,094.90","1,085.45","-0.20%" -"Nov 09, 2015","1,092.10","1,089.94","1,095.88","1,088.34","0.32%" -"Nov 06, 2015","1,088.64","1,103.89","1,110.68","1,085.29","-1.39%" -"Nov 05, 2015","1,103.95","1,107.56","1,111.61","1,102.75","-0.32%" -"Nov 04, 2015","1,107.44","1,117.63","1,122.85","1,106.38","-0.91%" -"Nov 03, 2015","1,117.60","1,133.60","1,138.30","1,114.48","-1.42%" -"Nov 02, 2015","1,133.75","1,141.49","1,143.01","1,132.75","-0.76%" -"Oct 30, 2015","1,142.38","1,148.04","1,150.47","1,139.48","-0.31%" -"Oct 29, 2015","1,145.91","1,156.09","1,162.76","1,144.60","-0.88%" -"Oct 28, 2015","1,156.10","1,166.75","1,182.90","1,152.40","-0.93%" -"Oct 27, 2015","1,166.95","1,162.96","1,168.90","1,160.91","0.32%" -"Oct 26, 2015","1,163.20","1,164.45","1,169.60","1,162.30","-0.09%" -"Oct 23, 2015","1,164.26","1,165.61","1,179.80","1,159.16","-0.15%" -"Oct 22, 2015","1,166.05","1,167.06","1,172.20","1,162.90","-0.09%" -"Oct 21, 2015","1,167.10","1,175.81","1,179.60","1,163.90","-0.77%" -"Oct 20, 2015","1,176.11","1,171.00","1,180.70","1,167.15","0.48%" -"Oct 19, 2015","1,170.45","1,176.00","1,177.90","1,168.25","-0.57%" -"Oct 16, 2015","1,177.20","1,182.21","1,184.50","1,174.25","-0.50%" -"Oct 15, 2015","1,183.11","1,184.10","1,191.04","1,176.37","-0.18%" -"Oct 14, 2015","1,185.19","1,168.59","1,190.38","1,164.05","1.40%" -"Oct 13, 2015","1,168.80","1,163.55","1,169.00","1,151.56","0.41%" -"Oct 12, 2015","1,164.00","1,155.71","1,169.40","1,154.90","0.56%" -"Oct 09, 2015","1,157.53","1,139.10","1,160.20","1,138.80","1.63%" -"Oct 08, 2015","1,138.96","1,145.49","1,151.60","1,136.90","-0.56%" -"Oct 07, 2015","1,145.40","1,146.96","1,153.70","1,141.96","-0.15%" -"Oct 06, 2015","1,147.11","1,135.65","1,151.61","1,135.11","1.00%" -"Oct 05, 2015","1,135.75","1,137.71","1,141.95","1,129.73","-0.21%" -"Oct 02, 2015","1,138.14","1,114.08","1,141.90","1,104.52","2.21%" -"Oct 01, 2015","1,113.55","1,115.14","1,119.29","1,111.13","-0.13%" -"Sep 30, 2015","1,115.00","1,127.46","1,128.20","1,112.00","-1.11%" -"Sep 29, 2015","1,127.46","1,132.25","1,134.90","1,124.35","-0.41%" -"Sep 28, 2015","1,132.05","1,145.80","1,148.30","1,128.10","-1.24%" -"Sep 25, 2015","1,146.24","1,150.97","1,151.18","1,140.84","-0.67%" -"Sep 24, 2015","1,154.01","1,130.61","1,156.70","1,130.45","2.09%" -"Sep 23, 2015","1,130.40","1,124.10","1,134.40","1,121.75","0.50%" -"Sep 22, 2015","1,124.80","1,133.16","1,136.60","1,121.18","-0.75%" -"Sep 21, 2015","1,133.30","1,139.40","1,140.10","1,130.00","-0.54%" -"Sep 18, 2015","1,139.40","1,130.85","1,141.90","1,127.30","0.71%" -"Sep 17, 2015","1,131.40","1,118.89","1,133.40","1,115.40","1.06%" -"Sep 16, 2015","1,119.55","1,105.50","1,124.70","1,103.95","1.28%" -"Sep 15, 2015","1,105.40","1,108.19","1,109.80","1,102.91","-0.31%" -"Sep 14, 2015","1,108.80","1,107.80","1,110.70","1,103.40","0.08%" -"Sep 11, 2015","1,107.90","1,111.56","1,113.40","1,098.75","-0.33%" -"Sep 10, 2015","1,111.55","1,106.81","1,115.30","1,104.00","0.49%" -"Sep 09, 2015","1,106.10","1,121.96","1,125.80","1,101.51","-1.40%" -"Sep 08, 2015","1,121.80","1,119.30","1,126.80","1,118.45","0.21%" -"Sep 07, 2015","1,119.47","1,123.22","1,124.88","1,116.58","-0.31%" -"Sep 04, 2015","1,123.00","1,125.25","1,130.20","1,117.15","-0.20%" -"Sep 03, 2015","1,125.25","1,134.01","1,134.50","1,121.75","-0.78%" -"Sep 02, 2015","1,134.05","1,139.49","1,143.00","1,132.31","-0.53%" -"Sep 01, 2015","1,140.11","1,135.01","1,147.57","1,134.51","0.49%" -"Aug 31, 2015","1,134.50","1,133.25","1,136.80","1,125.96","0.05%" -"Aug 28, 2015","1,133.96","1,125.80","1,141.20","1,123.70","0.73%" -"Aug 27, 2015","1,125.71","1,125.65","1,129.80","1,118.15","0.01%" -"Aug 26, 2015","1,125.55","1,141.15","1,147.00","1,117.75","-1.32%" -"Aug 25, 2015","1,140.65","1,155.45","1,157.20","1,134.90","-1.25%" -"Aug 24, 2015","1,155.05","1,162.35","1,167.90","1,146.75","-0.52%" -"Aug 21, 2015","1,161.05","1,153.91","1,168.80","1,148.85","0.68%" -"Aug 20, 2015","1,153.16","1,133.95","1,154.50","1,132.81","1.65%" -"Aug 19, 2015","1,134.46","1,118.01","1,134.66","1,116.35","1.47%" -"Aug 18, 2015","1,118.01","1,117.91","1,121.60","1,109.55","0.03%" -"Aug 17, 2015","1,117.66","1,114.35","1,123.05","1,113.70","0.32%" -"Aug 14, 2015","1,114.11","1,115.16","1,121.40","1,111.81","-0.08%" -"Aug 13, 2015","1,115.05","1,125.46","1,126.71","1,113.42","-0.91%" -"Aug 12, 2015","1,125.30","1,108.91","1,125.80","1,101.75","1.47%" -"Aug 11, 2015","1,109.01","1,104.41","1,119.40","1,093.65","0.41%" -"Aug 10, 2015","1,104.51","1,094.39","1,109.20","1,089.80","0.94%" -"Aug 07, 2015","1,094.20","1,089.40","1,099.90","1,083.16","0.44%" -"Aug 06, 2015","1,089.41","1,084.90","1,094.30","1,083.60","0.40%" -"Aug 05, 2015","1,085.05","1,087.59","1,092.16","1,082.85","-0.22%" -"Aug 04, 2015","1,087.45","1,086.18","1,095.05","1,081.05","0.09%" -"Aug 03, 2015","1,086.50","1,095.61","1,098.15","1,085.92","-0.84%" -"Jul 31, 2015","1,095.65","1,088.66","1,103.38","1,079.75","0.61%" -"Jul 30, 2015","1,088.99","1,097.76","1,099.82","1,083.36","-0.70%" -"Jul 29, 2015","1,096.69","1,095.48","1,101.85","1,090.21","0.12%" -"Jul 28, 2015","1,095.35","1,094.31","1,099.00","1,091.40","0.08%" -"Jul 27, 2015","1,094.42","1,099.55","1,105.30","1,089.19","-0.43%" -"Jul 24, 2015","1,099.10","1,090.85","1,102.35","1,077.75","0.76%" -"Jul 23, 2015","1,090.80","1,094.50","1,106.00","1,087.01","-0.24%" -"Jul 22, 2015","1,093.45","1,101.06","1,103.56","1,087.39","-0.72%" -"Jul 21, 2015","1,101.41","1,098.55","1,109.87","1,097.05","0.41%" -"Jul 20, 2015","1,096.95","1,133.35","1,133.35","1,088.45","-3.28%" -"Jul 17, 2015","1,134.10","1,145.61","1,146.10","1,131.20","-0.96%" -"Jul 16, 2015","1,145.15","1,148.86","1,149.90","1,142.60","-0.39%" -"Jul 15, 2015","1,149.65","1,155.90","1,156.96","1,143.83","-0.51%" -"Jul 14, 2015","1,155.53","1,158.06","1,159.96","1,153.04","-0.21%" -"Jul 13, 2015","1,158.00","1,163.30","1,164.60","1,151.18","-0.51%" -"Jul 10, 2015","1,163.96","1,159.75","1,165.50","1,157.90","0.37%" -"Jul 09, 2015","1,159.65","1,158.62","1,167.46","1,156.20","0.12%" -"Jul 08, 2015","1,158.28","1,155.18","1,165.03","1,147.18","0.24%" -"Jul 07, 2015","1,155.55","1,170.50","1,170.65","1,148.45","-1.25%" -"Jul 06, 2015","1,170.15","1,173.30","1,175.20","1,163.30","0.19%" -"Jul 03, 2015","1,167.94","1,166.29","1,170.50","1,164.96","0.15%" -"Jul 02, 2015","1,166.15","1,168.80","1,169.11","1,157.25","-0.23%" -"Jul 01, 2015","1,168.80","1,172.70","1,175.30","1,167.43","-0.32%" -"Jun 30, 2015","1,172.60","1,180.06","1,180.80","1,166.75","-0.66%" -"Jun 29, 2015","1,180.36","1,184.96","1,187.32","1,173.99","0.45%" -"Jun 26, 2015","1,175.07","1,173.35","1,179.09","1,168.74","0.15%" -"Jun 25, 2015","1,173.33","1,175.29","1,178.70","1,171.52","-0.16%" -"Jun 24, 2015","1,175.20","1,178.25","1,180.30","1,171.43","-0.27%" -"Jun 23, 2015","1,178.44","1,185.86","1,188.70","1,176.32","-0.59%" -"Jun 22, 2015","1,185.45","1,200.61","1,201.50","1,182.65","-1.25%" -"Jun 19, 2015","1,200.51","1,202.36","1,204.75","1,198.70","-0.08%" -"Jun 18, 2015","1,201.42","1,185.26","1,206.00","1,183.81","1.35%" -"Jun 17, 2015","1,185.45","1,181.90","1,189.40","1,174.48","0.30%" -"Jun 16, 2015","1,181.86","1,186.06","1,188.11","1,176.13","-0.38%" -"Jun 15, 2015","1,186.40","1,181.50","1,190.80","1,173.02","0.47%" -"Jun 12, 2015","1,180.80","1,182.01","1,184.70","1,176.93","-0.13%" -"Jun 11, 2015","1,182.30","1,186.61","1,188.21","1,176.16","-0.35%" -"Jun 10, 2015","1,186.48","1,176.75","1,192.60","1,175.35","0.83%" -"Jun 09, 2015","1,176.70","1,174.36","1,183.40","1,172.75","0.23%" -"Jun 08, 2015","1,173.95","1,169.45","1,178.10","1,169.20","0.17%" -"Jun 05, 2015","1,172.00","1,177.24","1,179.35","1,163.10","-0.36%" -"Jun 04, 2015","1,176.26","1,185.51","1,186.41","1,172.76","-0.78%" -"Jun 03, 2015","1,185.50","1,193.86","1,195.81","1,180.18","-0.66%" -"Jun 02, 2015","1,193.38","1,188.95","1,196.12","1,185.48","0.36%" -"Jun 01, 2015","1,189.15","1,191.00","1,204.81","1,184.60","-0.11%" -"May 29, 2015","1,190.50","1,188.65","1,193.81","1,187.08","0.17%" -"May 28, 2015","1,188.45","1,188.21","1,192.75","1,181.30","0.03%" -"May 27, 2015","1,188.15","1,187.44","1,191.55","1,184.51","0.07%" -"May 26, 2015","1,187.30","1,207.30","1,208.00","1,186.10","-1.65%" -"May 25, 2015","1,207.17","1,205.12","1,208.97","1,202.92","0.07%" -"May 22, 2015","1,206.38","1,206.75","1,215.20","1,201.70","-0.01%" -"May 21, 2015","1,206.45","1,210.11","1,212.95","1,201.91","-0.23%" -"May 20, 2015","1,209.28","1,208.01","1,213.47","1,203.02","0.15%" -"May 19, 2015","1,207.51","1,225.27","1,225.57","1,205.56","-1.49%" -"May 18, 2015","1,225.74","1,223.30","1,232.70","1,221.50","0.15%" -"May 15, 2015","1,223.85","1,221.76","1,226.75","1,211.55","0.19%" -"May 14, 2015","1,221.52","1,215.71","1,227.44","1,212.05","0.48%" -"May 13, 2015","1,215.73","1,193.45","1,219.30","1,191.30","1.86%" -"May 12, 2015","1,193.50","1,183.80","1,197.00","1,181.05","0.79%" -"May 11, 2015","1,184.20","1,188.95","1,192.10","1,179.50","-0.33%" -"May 08, 2015","1,188.15","1,184.66","1,193.61","1,182.13","0.28%" -"May 07, 2015","1,184.80","1,191.80","1,193.30","1,179.16","-0.59%" -"May 06, 2015","1,191.80","1,193.19","1,197.90","1,188.30","-0.13%" -"May 05, 2015","1,193.33","1,188.56","1,200.10","1,185.90","0.43%" -"May 04, 2015","1,188.25","1,178.95","1,193.45","1,177.88","0.83%" -"May 01, 2015","1,178.50","1,184.56","1,185.26","1,170.60","-0.50%" -"Apr 30, 2015","1,184.37","1,205.18","1,207.52","1,177.32","-1.70%" -"Apr 29, 2015","1,204.80","1,212.10","1,213.70","1,201.63","-0.60%" -"Apr 28, 2015","1,212.10","1,202.75","1,215.50","1,199.30","0.84%" -"Apr 27, 2015","1,202.00","1,179.76","1,207.46","1,178.75","1.92%" -"Apr 24, 2015","1,179.38","1,194.16","1,196.51","1,175.24","-1.22%" -"Apr 23, 2015","1,194.00","1,187.56","1,198.40","1,184.05","0.56%" -"Apr 22, 2015","1,187.30","1,202.75","1,205.20","1,185.73","-1.28%" -"Apr 21, 2015","1,202.68","1,196.81","1,204.40","1,193.30","0.52%" -"Apr 20, 2015","1,196.50","1,204.90","1,209.40","1,191.54","-0.68%" -"Apr 17, 2015","1,204.65","1,198.60","1,208.10","1,197.28","0.58%" -"Apr 16, 2015","1,197.65","1,202.45","1,209.60","1,195.06","-0.37%" -"Apr 15, 2015","1,202.05","1,193.21","1,205.35","1,189.38","0.71%" -"Apr 14, 2015","1,193.58","1,199.20","1,202.10","1,184.18","-0.44%" -"Apr 13, 2015","1,198.85","1,207.38","1,209.83","1,196.81","-0.76%" -"Apr 10, 2015","1,208.05","1,194.30","1,211.10","1,193.30","1.09%" -"Apr 09, 2015","1,195.01","1,203.07","1,203.76","1,192.86","-0.65%" -"Apr 08, 2015","1,202.80","1,208.85","1,212.60","1,197.85","-0.48%" -"Apr 07, 2015","1,208.60","1,214.69","1,215.91","1,207.45","-0.50%" -"Apr 06, 2015","1,214.70","1,215.63","1,224.50","1,213.85","0.31%" -"Apr 03, 2015","1,210.90","1,201.74","1,212.74","1,200.11","0.69%" -"Apr 02, 2015","1,202.59","1,204.95","1,208.15","1,195.75","-0.13%" -"Apr 01, 2015","1,204.10","1,183.35","1,209.00","1,180.35","1.74%" -"Mar 31, 2015","1,183.50","1,185.40","1,191.20","1,178.45","-0.23%" -"Mar 30, 2015","1,186.20","1,198.85","1,199.50","1,182.55","-1.09%" -"Mar 27, 2015","1,199.30","1,204.25","1,206.70","1,192.91","-0.42%" -"Mar 26, 2015","1,204.38","1,195.55","1,219.80","1,194.50","0.75%" -"Mar 25, 2015","1,195.45","1,192.90","1,199.90","1,186.65","0.19%" -"Mar 24, 2015","1,193.13","1,189.35","1,195.70","1,185.25","0.32%" -"Mar 23, 2015","1,189.30","1,185.96","1,192.10","1,179.45","0.56%" -"Mar 20, 2015","1,182.68","1,170.70","1,188.30","1,168.55","0.97%" -"Mar 19, 2015","1,171.30","1,167.25","1,177.86","1,160.06","0.35%" -"Mar 18, 2015","1,167.25","1,149.25","1,174.61","1,145.90","1.56%" -"Mar 17, 2015","1,149.30","1,154.55","1,159.85","1,143.61","-0.46%" -"Mar 16, 2015","1,154.59","1,158.50","1,164.46","1,150.60","-0.42%" -"Mar 13, 2015","1,159.48","1,153.90","1,162.55","1,151.80","0.50%" -"Mar 12, 2015","1,153.70","1,154.60","1,166.70","1,148.90","-0.10%" -"Mar 11, 2015","1,154.80","1,162.15","1,165.95","1,147.85","-0.61%" -"Mar 10, 2015","1,161.93","1,167.10","1,171.35","1,156.35","-0.46%" -"Mar 09, 2015","1,167.30","1,168.65","1,176.15","1,166.15","0.01%" -"Mar 06, 2015","1,167.21","1,198.65","1,201.29","1,163.94","-2.62%" -"Mar 05, 2015","1,198.60","1,199.75","1,209.70","1,196.40","-0.10%" -"Mar 04, 2015","1,199.85","1,203.75","1,209.40","1,198.25","-0.33%" -"Mar 03, 2015","1,203.80","1,207.19","1,215.09","1,195.39","-0.27%" -"Mar 02, 2015","1,207.10","1,213.80","1,223.60","1,204.60","-0.50%" -"Feb 27, 2015","1,213.15","1,209.45","1,219.90","1,204.65","0.34%" -"Feb 26, 2015","1,209.05","1,205.16","1,220.75","1,203.95","0.35%" -"Feb 25, 2015","1,204.80","1,199.55","1,212.20","1,199.50","0.41%" -"Feb 24, 2015","1,199.89","1,201.71","1,204.60","1,191.30","-0.17%" -"Feb 23, 2015","1,201.92","1,201.89","1,210.70","1,191.51","-0.04%" -"Feb 20, 2015","1,202.39","1,207.41","1,215.39","1,198.43","-0.42%" -"Feb 19, 2015","1,207.45","1,212.70","1,223.50","1,205.40","-0.46%" -"Feb 18, 2015","1,212.99","1,209.41","1,212.99","1,197.95","0.30%" -"Feb 17, 2015","1,209.40","1,231.05","1,234.15","1,203.70","-1.79%" -"Feb 16, 2015","1,231.47","1,228.58","1,236.88","1,228.01","0.14%" -"Feb 13, 2015","1,229.70","1,222.38","1,235.70","1,221.01","0.59%" -"Feb 12, 2015","1,222.50","1,218.73","1,232.90","1,216.75","0.27%" -"Feb 11, 2015","1,219.16","1,233.75","1,239.30","1,218.26","-1.20%" -"Feb 10, 2015","1,234.00","1,239.55","1,246.00","1,230.70","-0.46%" -"Feb 09, 2015","1,239.68","1,235.18","1,244.35","1,234.54","0.48%" -"Feb 06, 2015","1,233.72","1,264.82","1,269.30","1,228.75","-2.45%" -"Feb 05, 2015","1,264.70","1,269.90","1,274.00","1,256.52","-0.42%" -"Feb 04, 2015","1,270.05","1,260.25","1,272.20","1,256.85","0.78%" -"Feb 03, 2015","1,260.20","1,275.40","1,285.59","1,255.70","-1.19%" -"Feb 02, 2015","1,275.44","1,281.81","1,283.85","1,266.93","-0.63%" -"Jan 30, 2015","1,283.55","1,257.61","1,285.35","1,257.25","2.09%" -"Jan 29, 2015","1,257.25","1,285.35","1,286.25","1,252.61","-2.17%" -"Jan 28, 2015","1,285.10","1,292.35","1,294.55","1,281.50","-0.56%" -"Jan 27, 2015","1,292.35","1,281.08","1,297.77","1,272.58","0.87%" -"Jan 26, 2015","1,281.24","1,293.68","1,299.14","1,276.14","-1.03%" -"Jan 23, 2015","1,294.55","1,301.38","1,302.90","1,284.66","-0.55%" -"Jan 22, 2015","1,301.73","1,293.20","1,306.70","1,279.55","0.64%" -"Jan 21, 2015","1,293.44","1,293.64","1,305.38","1,285.59","-0.04%" -"Jan 20, 2015","1,293.94","1,276.54","1,297.23","1,274.09","1.32%" -"Jan 19, 2015","1,277.08","1,279.67","1,281.63","1,272.22","-0.25%" -"Jan 16, 2015","1,280.30","1,262.05","1,281.99","1,255.37","1.48%" -"Jan 15, 2015","1,261.64","1,229.95","1,266.59","1,226.18","2.58%" -"Jan 14, 2015","1,229.95","1,230.76","1,244.40","1,224.95","-0.08%" -"Jan 13, 2015","1,230.88","1,233.62","1,244.12","1,227.53","-0.22%" -"Jan 12, 2015","1,233.64","1,223.00","1,236.29","1,218.56","0.84%" -"Jan 09, 2015","1,223.40","1,209.65","1,224.00","1,207.45","1.19%" -"Jan 08, 2015","1,208.98","1,210.51","1,216.65","1,204.67","-0.15%" -"Jan 07, 2015","1,210.80","1,219.55","1,219.85","1,209.20","-0.69%" -"Jan 06, 2015","1,219.20","1,204.85","1,223.15","1,201.85","1.22%" -"Jan 05, 2015","1,204.45","1,189.34","1,208.15","1,183.45","1.28%" -"Jan 02, 2015","1,189.18","1,182.70","1,194.60","1,168.75","0.61%" -"Jan 01, 2015","1,181.97","1,183.78","1,184.53","1,181.97","-0.17%" -"Dec 31, 2014","1,183.95","1,200.26","1,204.00","1,179.55","-1.36%" -"Dec 30, 2014","1,200.24","1,183.37","1,210.29","1,180.89","1.45%" -"Dec 29, 2014","1,183.10","1,195.71","1,197.79","1,179.35","-1.03%" -"Dec 26, 2014","1,195.40","1,173.45","1,199.75","1,173.45","1.84%" -"Dec 24, 2014","1,173.80","1,175.70","1,181.80","1,173.05","-0.16%" -"Dec 23, 2014","1,175.68","1,175.03","1,185.49","1,172.59","0.05%" -"Dec 22, 2014","1,175.05","1,195.33","1,202.18","1,170.56","-1.75%" -"Dec 19, 2014","1,195.95","1,198.55","1,202.10","1,193.90","-0.20%" -"Dec 18, 2014","1,198.40","1,188.70","1,213.55","1,188.65","0.82%" -"Dec 17, 2014","1,188.70","1,196.69","1,203.40","1,184.23","-0.66%" -"Dec 16, 2014","1,196.60","1,192.59","1,221.79","1,188.80","0.34%" -"Dec 15, 2014","1,192.60","1,222.25","1,224.24","1,190.97","-2.45%" -"Dec 12, 2014","1,222.60","1,227.99","1,228.38","1,215.98","-0.44%" -"Dec 11, 2014","1,227.95","1,226.75","1,233.20","1,216.30","0.10%" -"Dec 10, 2014","1,226.75","1,230.43","1,238.25","1,224.78","-0.33%" -"Dec 09, 2014","1,230.85","1,203.64","1,238.55","1,199.45","2.30%" -"Dec 08, 2014","1,203.20","1,193.09","1,208.59","1,187.31","0.94%" -"Dec 05, 2014","1,192.05","1,205.70","1,208.20","1,186.50","-1.14%" -"Dec 04, 2014","1,205.78","1,209.70","1,213.70","1,201.53","-0.32%" -"Dec 03, 2014","1,209.64","1,199.01","1,214.95","1,194.65","0.89%" -"Dec 02, 2014","1,199.01","1,210.74","1,213.05","1,192.32","-0.98%" -"Dec 01, 2014","1,210.90","1,167.06","1,221.46","1,143.38","3.73%" -"Nov 28, 2014","1,167.35","1,190.70","1,191.56","1,165.35","-2.05%" -"Nov 27, 2014","1,191.75","1,198.20","1,200.10","1,185.95","-0.51%" -"Nov 26, 2014","1,197.90","1,200.96","1,202.61","1,195.02","-0.27%" -"Nov 25, 2014","1,201.19","1,197.55","1,203.40","1,190.80","0.32%" -"Nov 24, 2014","1,197.40","1,201.53","1,204.24","1,192.85","-0.33%" -"Nov 21, 2014","1,201.40","1,193.78","1,208.01","1,186.95","0.64%" -"Nov 20, 2014","1,193.75","1,183.36","1,197.31","1,176.87","0.88%" -"Nov 19, 2014","1,183.30","1,197.57","1,202.77","1,175.97","-1.19%" -"Nov 18, 2014","1,197.55","1,186.42","1,205.00","1,183.30","0.93%" -"Nov 17, 2014","1,186.55","1,188.75","1,194.26","1,181.62","-0.14%" -"Nov 14, 2014","1,188.25","1,162.09","1,193.74","1,147.04","2.26%" -"Nov 13, 2014","1,161.96","1,160.84","1,168.12","1,154.24","0.09%" -"Nov 12, 2014","1,160.92","1,164.67","1,170.37","1,157.51","-0.33%" -"Nov 11, 2014","1,164.80","1,150.65","1,173.60","1,146.32","1.23%" -"Nov 10, 2014","1,150.60","1,179.41","1,179.41","1,147.45","-2.21%" -"Nov 07, 2014","1,176.65","1,141.20","1,178.99","1,132.25","3.11%" -"Nov 06, 2014","1,141.20","1,141.45","1,149.70","1,138.10","-0.02%" -"Nov 05, 2014","1,141.40","1,168.19","1,169.85","1,137.70","-2.30%" -"Nov 04, 2014","1,168.30","1,165.55","1,174.30","1,164.00","0.25%" -"Nov 03, 2014","1,165.35","1,173.76","1,174.17","1,162.17","-0.77%" -"Oct 31, 2014","1,174.42","1,198.91","1,203.30","1,161.75","-2.04%" -"Oct 30, 2014","1,198.90","1,211.50","1,216.76","1,195.96","-1.06%" -"Oct 29, 2014","1,211.80","1,228.21","1,230.86","1,208.52","-1.35%" -"Oct 28, 2014","1,228.40","1,225.76","1,235.81","1,222.90","0.24%" -"Oct 27, 2014","1,225.40","1,231.50","1,232.26","1,225.06","-0.49%" -"Oct 24, 2014","1,231.46","1,232.59","1,234.70","1,229.10","-0.06%" -"Oct 23, 2014","1,232.15","1,240.85","1,244.96","1,226.43","-0.72%" -"Oct 22, 2014","1,241.03","1,249.57","1,250.08","1,240.66","-0.66%" -"Oct 21, 2014","1,249.30","1,246.99","1,255.60","1,245.40","0.22%" -"Oct 20, 2014","1,246.60","1,238.54","1,248.94","1,234.70","0.68%" -"Oct 17, 2014","1,238.19","1,239.69","1,242.30","1,231.99","-0.07%" -"Oct 16, 2014","1,239.10","1,241.67","1,245.60","1,235.75","-0.16%" -"Oct 15, 2014","1,241.07","1,233.65","1,249.80","1,222.17","0.67%" -"Oct 14, 2014","1,232.75","1,237.08","1,238.30","1,231.25","-0.36%" -"Oct 13, 2014","1,237.15","1,223.54","1,237.65","1,223.34","1.12%" -"Oct 10, 2014","1,223.48","1,224.49","1,225.84","1,217.60","-0.05%" -"Oct 09, 2014","1,224.15","1,221.84","1,233.60","1,219.15","0.20%" -"Oct 08, 2014","1,221.70","1,209.39","1,223.84","1,205.12","1.05%" -"Oct 07, 2014","1,209.00","1,207.15","1,213.06","1,202.91","0.15%" -"Oct 06, 2014","1,207.15","1,191.79","1,209.20","1,183.96","1.34%" -"Oct 03, 2014","1,191.20","1,213.84","1,215.90","1,190.14","-1.84%" -"Oct 02, 2014","1,213.50","1,213.34","1,221.84","1,208.69","-0.01%" -"Oct 01, 2014","1,213.65","1,209.00","1,219.66","1,204.75","0.36%" -"Sep 30, 2014","1,209.24","1,216.24","1,219.96","1,204.90","-0.55%" -"Sep 29, 2014","1,215.95","1,219.20","1,223.76","1,214.78","-0.29%" -"Sep 26, 2014","1,219.51","1,222.59","1,230.50","1,212.54","-0.25%" -"Sep 25, 2014","1,222.62","1,217.02","1,224.88","1,207.03","0.46%" -"Sep 24, 2014","1,217.05","1,222.81","1,226.16","1,215.96","-0.48%" -"Sep 23, 2014","1,222.95","1,215.30","1,235.06","1,214.11","0.65%" -"Sep 22, 2014","1,215.05","1,216.54","1,220.70","1,208.72","-0.12%" -"Sep 19, 2014","1,216.45","1,225.50","1,228.86","1,213.87","-0.73%" -"Sep 18, 2014","1,225.45","1,223.20","1,228.06","1,216.27","0.18%" -"Sep 17, 2014","1,223.25","1,234.95","1,239.46","1,221.67","-0.97%" -"Sep 16, 2014","1,235.20","1,233.10","1,242.16","1,231.92","0.18%" -"Sep 15, 2014","1,233.00","1,228.40","1,238.56","1,225.56","0.36%" -"Sep 12, 2014","1,228.63","1,240.59","1,242.04","1,227.75","-0.98%" -"Sep 11, 2014","1,240.75","1,248.68","1,250.46","1,234.97","-0.64%" -"Sep 10, 2014","1,248.75","1,256.19","1,258.15","1,243.91","-0.59%" -"Sep 09, 2014","1,256.20","1,255.43","1,258.25","1,247.41","0.04%" -"Sep 08, 2014","1,255.70","1,268.75","1,271.85","1,251.50","-1.04%" -"Sep 05, 2014","1,268.85","1,260.96","1,273.71","1,257.16","0.61%" -"Sep 04, 2014","1,261.10","1,268.80","1,276.76","1,260.26","-0.63%" -"Sep 03, 2014","1,269.07","1,266.14","1,271.80","1,261.69","0.25%" -"Sep 02, 2014","1,265.90","1,287.59","1,288.10","1,262.92","-1.66%" -"Sep 01, 2014","1,287.30","1,287.05","1,290.36","1,282.80","-0.02%" -"Aug 29, 2014","1,287.57","1,290.29","1,291.80","1,283.66","-0.19%" -"Aug 28, 2014","1,290.00","1,282.75","1,296.76","1,283.02","0.55%" -"Aug 27, 2014","1,282.95","1,281.09","1,288.00","1,280.40","0.16%" -"Aug 26, 2014","1,280.90","1,276.55","1,291.06","1,275.50","0.34%" -"Aug 25, 2014","1,276.60","1,279.67","1,281.06","1,274.42","-0.36%" -"Aug 22, 2014","1,281.23","1,276.64","1,283.50","1,274.49","0.31%" -"Aug 21, 2014","1,277.25","1,291.80","1,291.80","1,273.32","-1.15%" -"Aug 20, 2014","1,292.15","1,295.60","1,297.91","1,288.04","-0.26%" -"Aug 19, 2014","1,295.50","1,297.65","1,302.61","1,293.96","-0.15%" -"Aug 18, 2014","1,297.46","1,303.91","1,304.07","1,295.72","-0.55%" -"Aug 15, 2014","1,304.60","1,312.95","1,315.41","1,292.61","-0.66%" -"Aug 14, 2014","1,313.24","1,312.86","1,319.60","1,309.19","0.03%" -"Aug 13, 2014","1,312.86","1,308.69","1,315.60","1,304.90","0.33%" -"Aug 12, 2014","1,308.60","1,307.90","1,317.86","1,305.46","0.04%" -"Aug 11, 2014","1,308.10","1,309.35","1,311.66","1,304.96","-0.11%" -"Aug 08, 2014","1,309.60","1,313.50","1,322.86","1,306.16","-0.30%" -"Aug 07, 2014","1,313.55","1,305.89","1,314.75","1,302.11","0.56%" -"Aug 06, 2014","1,306.25","1,288.05","1,309.86","1,287.46","1.42%" -"Aug 05, 2014","1,288.00","1,287.91","1,293.66","1,282.56","-0.03%" -"Aug 04, 2014","1,288.35","1,293.98","1,295.81","1,286.17","-0.44%" -"Aug 01, 2014","1,294.10","1,282.24","1,297.20","1,280.90","0.92%" -"Jul 31, 2014","1,282.35","1,294.86","1,297.56","1,281.02","-0.98%" -"Jul 30, 2014","1,295.05","1,298.94","1,302.76","1,291.85","-0.28%" -"Jul 29, 2014","1,298.75","1,304.59","1,312.75","1,295.85","-0.42%" -"Jul 28, 2014","1,304.25","1,308.25","1,309.46","1,301.42","-0.29%" -"Jul 25, 2014","1,308.05","1,294.00","1,308.50","1,290.16","1.14%" -"Jul 24, 2014","1,293.35","1,304.14","1,305.35","1,287.81","-0.83%" -"Jul 23, 2014","1,304.15","1,307.70","1,311.31","1,302.61","-0.24%" -"Jul 22, 2014","1,307.35","1,311.89","1,315.20","1,301.75","-0.35%" -"Jul 21, 2014","1,311.90","1,311.05","1,318.51","1,307.01","0.08%" -"Jul 18, 2014","1,310.90","1,318.70","1,324.75","1,304.57","-0.56%" -"Jul 17, 2014","1,318.25","1,300.24","1,324.65","1,297.85","1.45%" -"Jul 16, 2014","1,299.37","1,294.40","1,304.40","1,292.90","0.38%" -"Jul 15, 2014","1,294.45","1,306.85","1,314.25","1,292.05","-0.97%" -"Jul 14, 2014","1,307.15","1,338.45","1,339.71","1,303.21","-2.32%" -"Jul 11, 2014","1,338.15","1,335.81","1,339.54","1,333.87","0.19%" -"Jul 10, 2014","1,335.55","1,319.34","1,345.65","1,319.34","0.67%" -"Jul 09, 2014","1,326.70","1,319.69","1,332.69","1,318.50","0.59%" -"Jul 08, 2014","1,318.95","1,319.75","1,325.35","1,313.45","-0.09%" -"Jul 07, 2014","1,320.20","1,320.16","1,320.30","1,311.90","-0.03%" -"Jul 04, 2014","1,320.55","1,320.29","1,323.80","1,318.80","0.06%" -"Jul 03, 2014","1,319.80","1,327.70","1,327.70","1,309.95","-0.58%" -"Jul 02, 2014","1,327.45","1,325.58","1,332.21","1,321.32","0.13%" -"Jul 01, 2014","1,325.75","1,327.15","1,332.41","1,323.72","-0.13%" -"Jun 30, 2014","1,327.50","1,315.80","1,329.41","1,310.21","0.92%" -"Jun 27, 2014","1,315.35","1,317.91","1,322.31","1,312.76","-0.20%" -"Jun 26, 2014","1,317.95","1,318.65","1,320.15","1,306.25","-0.12%" -"Jun 25, 2014","1,319.50","1,318.74","1,325.15","1,310.80","0.09%" -"Jun 24, 2014","1,318.30","1,318.54","1,326.60","1,314.15","0.02%" -"Jun 23, 2014","1,318.10","1,313.70","1,318.61","1,309.91","0.25%" -"Jun 20, 2014","1,314.82","1,320.20","1,322.40","1,306.75","-0.40%" -"Jun 19, 2014","1,320.10","1,278.44","1,322.10","1,276.01","3.26%" -"Jun 18, 2014","1,278.40","1,271.30","1,280.00","1,266.96","0.54%" -"Jun 17, 2014","1,271.50","1,271.65","1,273.56","1,259.16","-0.01%" -"Jun 16, 2014","1,271.60","1,277.06","1,285.16","1,270.51","-0.42%" -"Jun 13, 2014","1,277.00","1,273.69","1,278.20","1,271.00","0.29%" -"Jun 12, 2014","1,273.36","1,261.49","1,275.00","1,260.05","1.00%" -"Jun 11, 2014","1,260.74","1,260.49","1,265.50","1,258.00","-0.00%" -"Jun 10, 2014","1,260.80","1,252.15","1,263.31","1,250.21","0.70%" -"Jun 09, 2014","1,252.08","1,253.79","1,257.70","1,251.76","-0.05%" -"Jun 06, 2014","1,252.73","1,253.69","1,258.00","1,246.31","-0.07%" -"Jun 05, 2014","1,253.60","1,243.80","1,256.81","1,241.21","0.79%" -"Jun 04, 2014","1,243.80","1,245.24","1,250.00","1,243.50","-0.07%" -"Jun 03, 2014","1,244.65","1,244.39","1,248.15","1,241.06","0.02%" -"Jun 02, 2014","1,244.35","1,250.89","1,250.89","1,241.04","-0.54%" -"May 30, 2014","1,251.05","1,256.00","1,260.46","1,242.35","-0.40%" -"May 29, 2014","1,256.05","1,258.79","1,260.50","1,251.55","-0.19%" -"May 28, 2014","1,258.50","1,263.70","1,267.69","1,256.02","-0.41%" -"May 27, 2014","1,263.70","1,292.95","1,293.70","1,263.50","-2.27%" -"May 26, 2014","1,293.05","1,292.71","1,294.41","1,290.91","-0.00%" -"May 23, 2014","1,293.11","1,294.04","1,295.95","1,287.99","-0.06%" -"May 22, 2014","1,293.85","1,292.04","1,303.85","1,290.05","0.15%" -"May 21, 2014","1,291.85","1,294.15","1,296.60","1,283.45","-0.19%" -"May 20, 2014","1,294.25","1,292.15","1,297.05","1,286.15","0.18%" -"May 19, 2014","1,291.95","1,293.42","1,305.25","1,289.66","-0.14%" -"May 16, 2014","1,293.70","1,296.61","1,298.76","1,287.85","-0.20%" -"May 15, 2014","1,296.35","1,305.45","1,307.35","1,291.15","-0.71%" -"May 14, 2014","1,305.60","1,294.46","1,309.40","1,291.79","0.95%" -"May 13, 2014","1,293.35","1,295.91","1,299.21","1,289.25","-0.19%" -"May 12, 2014","1,295.80","1,289.20","1,304.30","1,280.10","0.50%" -"May 09, 2014","1,289.33","1,289.50","1,294.90","1,285.64","-0.02%" -"May 08, 2014","1,289.60","1,289.74","1,295.30","1,285.74","0.00%" -"May 07, 2014","1,289.55","1,308.01","1,315.31","1,287.00","-1.38%" -"May 06, 2014","1,307.65","1,309.90","1,314.71","1,305.00","-0.17%" -"May 05, 2014","1,309.85","1,300.74","1,315.95","1,299.61","0.73%" -"May 02, 2014","1,300.32","1,284.19","1,304.90","1,277.10","1.26%" -"May 01, 2014","1,284.10","1,291.65","1,293.21","1,277.70","-0.60%" -"Apr 30, 2014","1,291.90","1,296.01","1,298.01","1,285.80","-0.35%" -"Apr 29, 2014","1,296.48","1,296.04","1,301.40","1,286.49","0.03%" -"Apr 28, 2014","1,296.10","1,303.20","1,306.61","1,292.30","-0.56%" -"Apr 25, 2014","1,303.45","1,294.01","1,305.61","1,290.60","0.74%" -"Apr 24, 2014","1,293.85","1,284.01","1,298.51","1,268.85","0.77%" -"Apr 23, 2014","1,283.90","1,283.51","1,289.22","1,281.05","0.03%" -"Apr 22, 2014","1,283.50","1,290.24","1,293.00","1,277.60","-0.52%" -"Apr 21, 2014","1,290.15","1,294.67","1,301.51","1,282.01","-0.28%" -"Apr 18, 2014","1,293.78","1,293.78","1,293.78","1,293.78","-0.08%" -"Apr 17, 2014","1,294.85","1,302.40","1,304.80","1,293.24","-0.61%" -"Apr 16, 2014","1,302.80","1,302.84","1,307.60","1,293.59","0.01%" -"Apr 15, 2014","1,302.65","1,326.81","1,328.51","1,290.95","-1.79%" -"Apr 14, 2014","1,326.40","1,318.94","1,331.20","1,318.84","0.60%" -"Apr 11, 2014","1,318.47","1,317.94","1,324.33","1,314.24","-0.03%" -"Apr 10, 2014","1,318.92","1,311.64","1,324.90","1,310.84","0.54%" -"Apr 09, 2014","1,311.90","1,308.25","1,315.30","1,300.94","0.24%" -"Apr 08, 2014","1,308.72","1,296.29","1,314.93","1,296.29","0.93%" -"Apr 07, 2014","1,296.65","1,302.90","1,304.80","1,295.80","-0.46%" -"Apr 04, 2014","1,302.70","1,286.62","1,307.09","1,284.33","1.20%" -"Apr 03, 2014","1,287.30","1,289.89","1,294.20","1,281.59","-0.19%" -"Apr 02, 2014","1,289.80","1,279.85","1,295.21","1,278.65","0.83%" -"Apr 01, 2014","1,279.15","1,283.79","1,288.25","1,277.44","-0.40%" -"Mar 31, 2014","1,284.25","1,294.30","1,298.81","1,282.65","-0.75%" -"Mar 28, 2014","1,294.00","1,293.64","1,299.20","1,285.84","0.22%" -"Mar 27, 2014","1,291.14","1,304.14","1,307.15","1,289.30","-0.99%" -"Mar 26, 2014","1,304.10","1,311.25","1,317.01","1,298.90","-0.53%" -"Mar 25, 2014","1,311.05","1,309.60","1,317.86","1,306.20","0.11%" -"Mar 24, 2014","1,309.62","1,334.74","1,334.86","1,308.04","-1.87%" -"Mar 21, 2014","1,334.55","1,328.55","1,343.04","1,328.45","0.46%" -"Mar 20, 2014","1,328.50","1,331.05","1,335.21","1,320.85","-0.22%" -"Mar 19, 2014","1,331.45","1,355.95","1,360.26","1,328.00","-1.83%" -"Mar 18, 2014","1,356.25","1,366.80","1,367.77","1,350.80","-0.78%" -"Mar 17, 2014","1,366.95","1,382.07","1,392.37","1,362.53","-1.11%" -"Mar 14, 2014","1,382.24","1,370.59","1,388.40","1,368.06","0.85%" -"Mar 13, 2014","1,370.60","1,367.50","1,375.46","1,364.65","0.26%" -"Mar 12, 2014","1,367.08","1,349.39","1,371.10","1,345.44","1.27%" -"Mar 11, 2014","1,349.95","1,339.35","1,353.11","1,338.00","0.81%" -"Mar 10, 2014","1,339.15","1,339.27","1,345.41","1,329.47","-0.08%" -"Mar 07, 2014","1,340.25","1,351.21","1,352.90","1,329.75","-0.82%" -"Mar 06, 2014","1,351.35","1,337.45","1,353.37","1,331.35","1.04%" -"Mar 05, 2014","1,337.39","1,334.83","1,341.88","1,332.58","0.19%" -"Mar 04, 2014","1,334.90","1,350.95","1,352.61","1,331.54","-1.18%" -"Mar 03, 2014","1,350.90","1,326.50","1,355.41","1,326.50","1.85%" -"Feb 28, 2014","1,326.40","1,331.67","1,333.91","1,320.22","-0.38%" -"Feb 27, 2014","1,331.44","1,330.58","1,336.48","1,323.97","0.05%" -"Feb 26, 2014","1,330.75","1,340.31","1,345.40","1,322.14","-0.75%" -"Feb 25, 2014","1,340.75","1,337.00","1,344.01","1,331.72","0.28%" -"Feb 24, 2014","1,337.00","1,324.99","1,339.00","1,319.11","1.03%" -"Feb 21, 2014","1,323.39","1,322.72","1,328.79","1,316.12","0.04%" -"Feb 20, 2014","1,322.89","1,311.64","1,325.18","1,307.85","0.85%" -"Feb 19, 2014","1,311.80","1,321.84","1,323.39","1,308.93","-0.74%" -"Feb 18, 2014","1,321.60","1,329.20","1,332.71","1,312.95","-0.56%" -"Feb 17, 2014","1,329.10","1,319.15","1,330.37","1,318.65","0.77%" -"Feb 14, 2014","1,318.93","1,302.83","1,321.34","1,299.97","1.25%" -"Feb 13, 2014","1,302.70","1,291.11","1,302.80","1,286.14","0.89%" -"Feb 12, 2014","1,291.25","1,292.02","1,296.52","1,284.40","-0.05%" -"Feb 11, 2014","1,291.85","1,274.79","1,293.83","1,273.80","1.33%" -"Feb 10, 2014","1,274.90","1,266.31","1,278.31","1,265.40","0.62%" -"Feb 07, 2014","1,267.06","1,257.68","1,272.18","1,256.22","0.75%" -"Feb 06, 2014","1,257.64","1,258.14","1,266.98","1,252.88","-0.03%" -"Feb 05, 2014","1,258.01","1,254.86","1,273.73","1,252.51","0.24%" -"Feb 04, 2014","1,255.00","1,257.99","1,260.93","1,247.62","-0.21%" -"Feb 03, 2014","1,257.64","1,245.14","1,266.54","1,240.68","1.11%" -"Jan 31, 2014","1,243.80","1,244.07","1,255.51","1,238.75","0.01%" -"Jan 30, 2014","1,243.70","1,268.24","1,268.53","1,238.39","-1.95%" -"Jan 29, 2014","1,268.40","1,256.90","1,270.27","1,249.65","0.94%" -"Jan 28, 2014","1,256.55","1,257.01","1,261.51","1,249.36","-0.04%" -"Jan 27, 2014","1,257.07","1,268.85","1,278.48","1,252.16","-0.96%" -"Jan 24, 2014","1,269.25","1,264.67","1,273.31","1,257.20","0.39%" -"Jan 23, 2014","1,264.35","1,236.64","1,265.80","1,231.76","2.25%" -"Jan 22, 2014","1,236.49","1,241.55","1,244.14","1,236.14","-0.40%" -"Jan 21, 2014","1,241.49","1,254.18","1,256.24","1,236.07","-1.03%" -"Jan 20, 2014","1,254.35","1,254.01","1,261.00","1,251.32","0.04%" -"Jan 17, 2014","1,253.82","1,242.53","1,255.28","1,238.05","0.91%" -"Jan 16, 2014","1,242.55","1,241.49","1,245.26","1,236.55","0.07%" -"Jan 15, 2014","1,241.74","1,245.10","1,245.39","1,234.49","-0.27%" -"Jan 14, 2014","1,245.10","1,253.12","1,255.38","1,241.83","-0.67%" -"Jan 13, 2014","1,253.44","1,248.28","1,255.18","1,243.72","0.51%" -"Jan 10, 2014","1,247.10","1,228.01","1,248.81","1,226.94","1.56%" -"Jan 09, 2014","1,228.00","1,226.17","1,231.91","1,224.02","0.15%" -"Jan 08, 2014","1,226.10","1,231.97","1,232.84","1,218.83","-0.49%" -"Jan 07, 2014","1,232.10","1,238.17","1,245.86","1,225.20","-0.48%" -"Jan 06, 2014","1,238.05","1,236.93","1,248.76","1,233.10","0.12%" -"Jan 03, 2014","1,236.55","1,224.94","1,240.38","1,222.14","0.95%" -"Jan 02, 2014","1,224.89","1,204.88","1,231.04","1,203.72","1.57%" -"Jan 01, 2014","1,205.90","1,210.41","1,210.61","1,199.40","0.03%" -"Dec 31, 2013","1,205.55","1,196.62","1,214.21","1,185.11","0.76%" -"Dec 30, 2013","1,196.40","1,212.15","1,216.26","1,195.39","-1.38%" -"Dec 27, 2013","1,213.19","1,210.59","1,219.04","1,209.03","0.21%" -"Dec 26, 2013","1,210.70","1,204.99","1,216.10","1,201.24","0.50%" -"Dec 25, 2013","1,204.70","1,204.69","1,205.10","1,203.29","0.03%" -"Dec 24, 2013","1,204.35","1,199.44","1,206.36","1,197.01","0.46%" -"Dec 23, 2013","1,198.84","1,203.52","1,206.38","1,192.77","-0.37%" -"Dec 20, 2013","1,203.25","1,190.51","1,207.60","1,185.71","1.10%" -"Dec 19, 2013","1,190.10","1,217.96","1,226.76","1,186.80","-2.30%" -"Dec 18, 2013","1,218.07","1,231.54","1,244.70","1,216.15","-0.98%" -"Dec 17, 2013","1,230.10","1,240.30","1,248.60","1,227.80","-0.84%" -"Dec 16, 2013","1,240.57","1,238.08","1,251.89","1,227.59","0.18%" -"Dec 13, 2013","1,238.30","1,223.80","1,239.00","1,220.60","1.18%" -"Dec 12, 2013","1,223.80","1,251.30","1,257.40","1,223.50","-2.23%" -"Dec 11, 2013","1,251.75","1,260.91","1,263.40","1,250.50","-0.71%" -"Dec 10, 2013","1,260.72","1,240.82","1,267.74","1,237.97","1.59%" -"Dec 09, 2013","1,240.94","1,229.58","1,243.19","1,225.38","0.98%" -"Dec 06, 2013","1,228.85","1,225.22","1,243.61","1,212.41","0.32%" -"Dec 05, 2013","1,224.88","1,243.77","1,244.00","1,217.30","-1.51%" -"Dec 04, 2013","1,243.66","1,223.89","1,250.75","1,211.89","1.62%" -"Dec 03, 2013","1,223.89","1,220.04","1,226.38","1,215.98","0.31%" -"Dec 02, 2013","1,220.05","1,251.42","1,251.42","1,217.78","-2.67%" -"Nov 29, 2013","1,253.49","1,246.24","1,256.11","1,242.26","0.75%" -"Nov 28, 2013","1,244.15","1,237.76","1,245.82","1,235.32","0.55%" -"Nov 27, 2013","1,237.40","1,243.42","1,254.81","1,236.65","-0.47%" -"Nov 26, 2013","1,243.30","1,252.60","1,256.89","1,239.89","-0.74%" -"Nov 25, 2013","1,252.60","1,242.08","1,253.54","1,227.72","0.72%" -"Nov 22, 2013","1,243.60","1,243.01","1,249.32","1,241.55","0.07%" -"Nov 21, 2013","1,242.75","1,243.19","1,250.01","1,236.69","-0.04%" -"Nov 20, 2013","1,243.20","1,275.62","1,276.67","1,241.30","-2.51%" -"Nov 19, 2013","1,275.25","1,274.71","1,279.02","1,269.30","0.07%" -"Nov 18, 2013","1,274.35","1,290.45","1,290.61","1,270.35","-1.22%" -"Nov 15, 2013","1,290.05","1,287.04","1,291.14","1,280.42","0.21%" -"Nov 14, 2013","1,287.39","1,278.67","1,294.38","1,278.53","0.66%" -"Nov 13, 2013","1,278.99","1,267.58","1,279.24","1,265.89","0.87%" -"Nov 12, 2013","1,267.99","1,283.07","1,285.30","1,261.28","-1.19%" -"Nov 11, 2013","1,283.28","1,288.76","1,288.91","1,279.39","-0.38%" -"Nov 08, 2013","1,288.20","1,307.84","1,313.06","1,281.40","-1.51%" -"Nov 07, 2013","1,307.95","1,318.16","1,325.71","1,298.71","-0.79%" -"Nov 06, 2013","1,318.40","1,311.97","1,322.31","1,309.45","0.52%" -"Nov 05, 2013","1,311.60","1,314.85","1,319.77","1,306.75","-0.24%" -"Nov 04, 2013","1,314.74","1,315.12","1,322.24","1,311.74","-0.05%" -"Nov 01, 2013","1,315.35","1,323.70","1,327.86","1,306.30","-0.64%" -"Oct 31, 2013","1,323.80","1,343.30","1,343.40","1,319.40","-1.41%" -"Oct 30, 2013","1,342.80","1,344.05","1,359.77","1,334.81","-0.11%" -"Oct 29, 2013","1,344.30","1,352.10","1,360.67","1,340.87","-0.58%" -"Oct 28, 2013","1,352.20","1,353.16","1,362.21","1,346.50","0.01%" -"Oct 25, 2013","1,352.13","1,346.73","1,355.60","1,336.54","0.37%" -"Oct 24, 2013","1,347.15","1,332.35","1,352.22","1,330.60","1.11%" -"Oct 23, 2013","1,332.35","1,340.75","1,342.57","1,329.80","-0.62%" -"Oct 22, 2013","1,340.65","1,315.50","1,345.07","1,310.45","1.89%" -"Oct 21, 2013","1,315.75","1,316.66","1,324.42","1,313.56","-0.04%" -"Oct 18, 2013","1,316.24","1,319.18","1,325.70","1,311.95","-0.26%" -"Oct 17, 2013","1,319.70","1,282.30","1,324.67","1,274.80","2.97%" -"Oct 16, 2013","1,281.60","1,280.60","1,287.51","1,269.57","0.06%" -"Oct 15, 2013","1,280.80","1,273.15","1,288.51","1,252.27","0.58%" -"Oct 14, 2013","1,273.40","1,272.80","1,289.47","1,268.80","0.02%" -"Oct 11, 2013","1,273.11","1,286.93","1,294.45","1,262.63","-1.02%" -"Oct 10, 2013","1,286.24","1,307.22","1,311.78","1,283.03","-1.60%" -"Oct 09, 2013","1,307.20","1,319.06","1,321.95","1,294.65","-0.88%" -"Oct 08, 2013","1,318.80","1,321.49","1,330.10","1,316.30","-0.23%" -"Oct 07, 2013","1,321.79","1,311.04","1,328.44","1,308.81","0.80%" -"Oct 04, 2013","1,311.35","1,317.15","1,323.86","1,306.56","-0.45%" -"Oct 03, 2013","1,317.30","1,316.75","1,321.31","1,302.42","0.16%" -"Oct 02, 2013","1,315.25","1,286.75","1,323.82","1,278.85","2.23%" -"Oct 01, 2013","1,286.60","1,327.75","1,337.77","1,283.20","-3.08%" -"Sep 30, 2013","1,327.55","1,335.90","1,344.22","1,323.56","-0.65%" -"Sep 27, 2013","1,336.20","1,323.64","1,344.30","1,320.43","0.94%" -"Sep 26, 2013","1,323.70","1,333.50","1,339.21","1,319.15","-0.74%" -"Sep 25, 2013","1,333.60","1,322.80","1,338.51","1,317.11","0.79%" -"Sep 24, 2013","1,323.20","1,321.35","1,329.57","1,306.51","0.08%" -"Sep 23, 2013","1,322.15","1,326.20","1,332.11","1,314.26","-0.24%" -"Sep 20, 2013","1,325.38","1,366.18","1,368.40","1,324.86","-2.90%" -"Sep 19, 2013","1,365.00","1,365.55","1,375.15","1,358.80","-0.01%" -"Sep 18, 2013","1,365.15","1,309.70","1,367.77","1,291.95","4.24%" -"Sep 17, 2013","1,309.65","1,313.60","1,323.92","1,306.50","-0.33%" -"Sep 16, 2013","1,314.00","1,329.60","1,332.92","1,304.46","-0.96%" -"Sep 13, 2013","1,326.72","1,321.36","1,331.03","1,305.03","0.43%" -"Sep 12, 2013","1,321.05","1,367.40","1,367.50","1,321.05","-3.34%" -"Sep 11, 2013","1,366.75","1,364.25","1,368.51","1,357.46","0.17%" -"Sep 10, 2013","1,364.45","1,387.95","1,391.52","1,358.20","-1.63%" -"Sep 09, 2013","1,387.05","1,391.45","1,391.45","1,382.83","-0.33%" -"Sep 06, 2013","1,391.61","1,365.72","1,393.20","1,363.28","1.74%" -"Sep 05, 2013","1,367.85","1,392.10","1,399.92","1,365.77","-1.70%" -"Sep 04, 2013","1,391.45","1,412.10","1,415.22","1,384.85","-1.50%" -"Sep 03, 2013","1,412.65","1,391.60","1,416.61","1,384.70","1.27%" -"Sep 02, 2013","1,394.90","1,396.46","1,398.31","1,380.05","-0.11%" -"Aug 30, 2013","1,396.40","1,408.55","1,411.62","1,392.77","-0.84%" -"Aug 29, 2013","1,408.25","1,418.05","1,418.52","1,403.17","-0.72%" -"Aug 28, 2013","1,418.50","1,417.10","1,434.17","1,413.90","0.13%" -"Aug 27, 2013","1,416.65","1,405.16","1,424.02","1,396.75","0.84%" -"Aug 26, 2013","1,404.90","1,398.88","1,404.86","1,391.44","0.58%" -"Aug 23, 2013","1,396.85","1,375.79","1,400.21","1,369.14","1.53%" -"Aug 22, 2013","1,375.85","1,366.50","1,381.61","1,355.80","0.70%" -"Aug 21, 2013","1,366.35","1,371.80","1,378.81","1,360.10","-0.35%" -"Aug 20, 2013","1,371.17","1,366.39","1,376.20","1,355.26","0.38%" -"Aug 19, 2013","1,365.98","1,376.35","1,384.60","1,362.49","-0.76%" -"Aug 16, 2013","1,376.40","1,367.30","1,380.21","1,357.95","0.76%" -"Aug 15, 2013","1,366.05","1,335.19","1,369.90","1,319.31","2.31%" -"Aug 14, 2013","1,335.20","1,321.40","1,337.30","1,316.55","1.05%" -"Aug 13, 2013","1,321.30","1,336.90","1,341.72","1,319.27","-1.13%" -"Aug 12, 2013","1,336.40","1,314.60","1,343.67","1,314.60","1.67%" -"Aug 09, 2013","1,314.50","1,312.09","1,317.00","1,305.56","0.19%" -"Aug 08, 2013","1,312.00","1,287.70","1,314.56","1,283.85","1.88%" -"Aug 07, 2013","1,287.75","1,281.95","1,289.42","1,273.25","0.46%" -"Aug 06, 2013","1,281.90","1,303.85","1,307.27","1,279.85","-1.69%" -"Aug 05, 2013","1,303.95","1,313.10","1,319.91","1,297.86","-0.61%" -"Aug 02, 2013","1,312.00","1,307.79","1,318.40","1,283.19","0.23%" -"Aug 01, 2013","1,308.95","1,322.70","1,330.77","1,307.20","-1.07%" -"Jul 31, 2013","1,323.10","1,326.90","1,338.87","1,305.91","-0.32%" -"Jul 30, 2013","1,327.30","1,328.00","1,330.38","1,318.50","-0.02%" -"Jul 29, 2013","1,327.60","1,333.91","1,338.71","1,323.32","-0.47%" -"Jul 26, 2013","1,333.90","1,333.96","1,340.82","1,312.82","0.02%" -"Jul 25, 2013","1,333.65","1,321.40","1,338.02","1,309.35","0.93%" -"Jul 24, 2013","1,321.30","1,347.80","1,348.30","1,313.55","-1.99%" -"Jul 23, 2013","1,348.10","1,335.25","1,348.30","1,327.15","0.91%" -"Jul 22, 2013","1,335.90","1,297.40","1,339.77","1,311.76","3.05%" -"Jul 19, 2013","1,296.35","1,285.20","1,297.95","1,282.55","0.88%" -"Jul 18, 2013","1,285.10","1,276.10","1,288.70","1,275.05","0.71%" -"Jul 17, 2013","1,276.00","1,293.00","1,297.61","1,274.21","-1.28%" -"Jul 16, 2013","1,292.60","1,282.30","1,295.95","1,277.56","0.78%" -"Jul 15, 2013","1,282.60","1,285.45","1,294.32","1,276.26","-0.18%" -"Jul 12, 2013","1,284.90","1,286.67","1,288.86","1,267.90","-0.03%" -"Jul 11, 2013","1,285.30","1,264.80","1,298.97","1,278.81","1.67%" -"Jul 10, 2013","1,264.25","1,250.50","1,266.22","1,244.47","1.14%" -"Jul 09, 2013","1,249.95","1,237.40","1,261.02","1,233.90","1.05%" -"Jul 08, 2013","1,237.00","1,223.21","1,239.41","1,215.95","1.08%" -"Jul 05, 2013","1,223.80","1,249.28","1,250.86","1,207.99","-2.12%" -"Jul 04, 2013","1,250.30","1,251.30","1,257.82","1,245.40","-0.16%" -"Jul 03, 2013","1,252.30","1,242.65","1,260.71","1,237.05","0.79%" -"Jul 02, 2013","1,242.50","1,253.35","1,266.55","1,241.80","-0.86%" -"Jul 01, 2013","1,253.30","1,233.49","1,261.11","1,226.31","1.54%" -"Jun 28, 2013","1,234.25","1,200.30","1,245.61","1,181.82","2.79%" -"Jun 27, 2013","1,200.75","1,226.60","1,245.46","1,198.06","-2.09%" -"Jun 26, 2013","1,226.35","1,278.10","1,277.62","1,222.91","-3.99%" -"Jun 25, 2013","1,277.35","1,282.10","1,289.41","1,271.92","-0.35%" -"Jun 24, 2013","1,281.90","1,297.30","1,301.62","1,276.35","-1.18%" -"Jun 21, 2013","1,297.25","1,278.34","1,348.41","1,269.39","1.51%" -"Jun 20, 2013","1,278.00","1,351.51","1,348.52","1,276.80","-5.42%" -"Jun 19, 2013","1,351.30","1,367.70","1,376.02","1,349.35","-1.25%" -"Jun 18, 2013","1,368.40","1,384.90","1,386.16","1,361.15","-1.19%" -"Jun 17, 2013","1,384.85","1,391.29","1,392.11","1,380.94","-0.42%" -"Jun 14, 2013","1,390.70","1,385.89","1,392.11","1,378.54","0.34%" -"Jun 13, 2013","1,386.05","1,388.26","1,395.27","1,374.70","-0.17%" -"Jun 12, 2013","1,388.40","1,379.50","1,394.87","1,374.35","0.64%" -"Jun 11, 2013","1,379.60","1,387.01","1,387.12","1,367.26","-0.53%" -"Jun 10, 2013","1,386.90","1,378.89","1,389.06","1,376.49","0.18%" -"Jun 07, 2013","1,384.47","1,413.72","1,418.03","1,377.86","-2.06%" -"Jun 06, 2013","1,413.65","1,403.30","1,423.66","1,391.84","0.74%" -"Jun 05, 2013","1,403.30","1,398.94","1,410.51","1,395.69","0.24%" -"Jun 04, 2013","1,399.90","1,412.00","1,415.62","1,389.86","-0.83%" -"Jun 03, 2013","1,411.60","1,389.09","1,416.61","1,388.94","1.78%" -"May 31, 2013","1,386.90","1,413.75","1,421.50","1,384.64","-1.90%" -"May 30, 2013","1,413.75","1,392.95","1,418.31","1,388.69","1.49%" -"May 29, 2013","1,392.95","1,380.79","1,395.16","1,379.99","0.88%" -"May 28, 2013","1,380.85","1,394.24","1,400.55","1,374.14","-1.00%" -"May 27, 2013","1,394.78","1,388.15","1,396.90","1,384.24","0.63%" -"May 24, 2013","1,386.05","1,391.20","1,398.45","1,382.70","-0.37%" -"May 23, 2013","1,391.20","1,369.20","1,397.85","1,356.74","1.59%" -"May 22, 2013","1,369.40","1,376.95","1,415.11","1,355.47","-0.50%" -"May 21, 2013","1,376.30","1,394.75","1,401.76","1,360.30","-1.28%" -"May 20, 2013","1,394.15","1,363.09","1,399.10","1,339.45","2.57%" -"May 17, 2013","1,359.20","1,387.39","1,392.96","1,355.60","-1.95%" -"May 16, 2013","1,386.30","1,392.71","1,398.52","1,369.90","-0.47%" -"May 15, 2013","1,392.90","1,426.50","1,430.85","1,389.65","-2.32%" -"May 14, 2013","1,426.00","1,431.10","1,445.57","1,422.26","-0.32%" -"May 13, 2013","1,430.55","1,448.69","1,448.69","1,426.34","-1.22%" -"May 10, 2013","1,448.20","1,458.79","1,462.36","1,421.11","-0.69%" -"May 09, 2013","1,458.20","1,473.30","1,476.01","1,453.70","-0.99%" -"May 08, 2013","1,472.80","1,452.70","1,476.97","1,447.90","1.39%" -"May 07, 2013","1,452.60","1,470.20","1,470.78","1,441.72","-1.15%" -"May 06, 2013","1,469.50","1,470.50","1,479.06","1,465.10","-0.08%" -"May 03, 2013","1,470.70","1,467.45","1,488.30","1,456.40","0.25%" -"May 02, 2013","1,467.10","1,457.65","1,474.26","1,449.30","0.65%" -"May 01, 2013","1,457.60","1,476.55","1,478.57","1,440.60","-1.32%" -"Apr 30, 2013","1,477.10","1,475.99","1,479.31","1,460.99","0.03%" -"Apr 29, 2013","1,476.65","1,464.85","1,478.56","1,462.45","0.93%" -"Apr 26, 2013","1,463.00","1,467.95","1,485.31","1,448.69","-0.33%" -"Apr 25, 2013","1,467.85","1,431.45","1,469.46","1,427.25","2.55%" -"Apr 24, 2013","1,431.30","1,412.69","1,433.40","1,411.79","1.27%" -"Apr 23, 2013","1,413.35","1,426.86","1,432.42","1,406.55","-0.90%" -"Apr 22, 2013","1,426.25","1,405.17","1,439.77","1,404.61","1.56%" -"Apr 19, 2013","1,404.35","1,391.21","1,425.01","1,386.46","0.94%" -"Apr 18, 2013","1,391.25","1,376.80","1,401.96","1,340.36","1.03%" -"Apr 17, 2013","1,377.00","1,369.30","1,395.10","1,365.10","0.59%" -"Apr 16, 2013","1,368.90","1,353.86","1,402.35","1,322.46","1.16%" -"Apr 15, 2013","1,353.25","1,478.30","1,495.66","1,336.54","-8.49%" -"Apr 12, 2013","1,478.85","1,560.69","1,564.86","1,477.50","-5.28%" -"Apr 11, 2013","1,561.35","1,559.30","1,568.42","1,553.71","0.17%" -"Apr 10, 2013","1,558.75","1,584.95","1,588.91","1,556.00","-1.67%" -"Apr 09, 2013","1,585.20","1,572.94","1,590.50","1,570.44","0.73%" -"Apr 08, 2013","1,573.70","1,581.25","1,583.37","1,567.55","-0.52%" -"Apr 05, 2013","1,582.00","1,553.32","1,582.05","1,549.34","1.85%" -"Apr 04, 2013","1,553.32","1,557.96","1,559.87","1,540.35","-0.29%" -"Apr 03, 2013","1,557.85","1,576.04","1,577.41","1,550.19","-1.14%" -"Apr 02, 2013","1,575.85","1,599.60","1,604.21","1,574.00","-1.44%" -"Apr 01, 2013","1,598.90","1,597.74","1,601.31","1,594.94","0.14%" -"Mar 28, 2013","1,596.74","1,605.76","1,607.88","1,594.06","-0.54%" -"Mar 27, 2013","1,605.40","1,599.31","1,608.61","1,591.50","0.39%" -"Mar 26, 2013","1,599.20","1,605.60","1,606.27","1,594.85","-0.39%" -"Mar 25, 2013","1,605.40","1,609.30","1,613.76","1,589.99","-0.19%" -"Mar 22, 2013","1,608.45","1,614.70","1,616.35","1,603.79","-0.39%" -"Mar 21, 2013","1,614.70","1,606.58","1,616.97","1,604.65","0.51%" -"Mar 20, 2013","1,606.50","1,613.50","1,615.21","1,603.55","-0.43%" -"Mar 19, 2013","1,613.40","1,605.41","1,615.77","1,600.15","0.50%" -"Mar 18, 2013","1,605.30","1,597.26","1,611.31","1,592.56","0.81%" -"Mar 15, 2013","1,592.45","1,590.41","1,598.81","1,588.90","0.14%" -"Mar 14, 2013","1,590.30","1,587.90","1,593.50","1,576.99","0.16%" -"Mar 13, 2013","1,587.80","1,592.91","1,599.61","1,585.55","-0.31%" -"Mar 12, 2013","1,592.70","1,582.01","1,598.81","1,580.25","0.74%" -"Mar 11, 2013","1,581.00","1,578.40","1,583.61","1,575.65","0.17%" -"Mar 08, 2013","1,578.35","1,579.12","1,583.51","1,561.41","-0.03%" -"Mar 07, 2013","1,578.90","1,583.59","1,585.89","1,574.94","-0.30%" -"Mar 06, 2013","1,583.69","1,575.28","1,584.79","1,567.53","0.52%" -"Mar 05, 2013","1,575.44","1,573.88","1,586.30","1,571.72","0.09%" -"Mar 04, 2013","1,573.95","1,579.01","1,585.11","1,569.65","-0.08%" -"Mar 01, 2013","1,575.24","1,580.18","1,587.29","1,564.83","-0.31%" -"Feb 28, 2013","1,580.14","1,597.38","1,602.98","1,574.72","-1.09%" -"Feb 27, 2013","1,597.60","1,613.39","1,614.89","1,592.33","-0.98%" -"Feb 26, 2013","1,613.49","1,593.93","1,620.05","1,584.60","1.21%" -"Feb 25, 2013","1,594.24","1,581.29","1,597.18","1,575.18","0.86%" -"Feb 22, 2013","1,580.70","1,576.00","1,587.25","1,570.16","0.30%" -"Feb 21, 2013","1,576.05","1,563.09","1,584.88","1,554.88","0.84%" -"Feb 20, 2013","1,562.90","1,604.71","1,609.82","1,558.85","-2.60%" -"Feb 19, 2013","1,604.60","1,609.93","1,615.34","1,600.72","-0.34%" -"Feb 18, 2013","1,610.05","1,609.95","1,619.00","1,607.33","0.04%" -"Feb 15, 2013","1,609.44","1,634.53","1,636.10","1,598.42","-1.55%" -"Feb 14, 2013","1,634.85","1,642.84","1,650.05","1,632.72","-0.48%" -"Feb 13, 2013","1,642.74","1,650.85","1,653.59","1,640.33","-0.49%" -"Feb 12, 2013","1,650.80","1,647.94","1,653.50","1,639.22","0.06%" -"Feb 11, 2013","1,649.74","1,666.93","1,669.70","1,643.62","-1.07%" -"Feb 08, 2013","1,667.50","1,671.72","1,673.91","1,665.45","-0.23%" -"Feb 07, 2013","1,671.30","1,677.71","1,683.51","1,663.41","-0.37%" -"Feb 06, 2013","1,677.49","1,672.62","1,679.49","1,668.22","0.27%" -"Feb 05, 2013","1,673.00","1,674.21","1,684.90","1,666.76","-0.08%" -"Feb 04, 2013","1,674.40","1,667.55","1,677.61","1,661.79","0.43%" -"Feb 01, 2013","1,667.15","1,664.02","1,682.31","1,660.35","0.21%" -"Jan 31, 2013","1,663.60","1,677.42","1,681.01","1,658.15","-0.80%" -"Jan 30, 2013","1,677.10","1,663.96","1,683.79","1,662.79","0.80%" -"Jan 29, 2013","1,663.85","1,655.20","1,666.06","1,654.30","0.54%" -"Jan 28, 2013","1,654.95","1,658.76","1,662.81","1,652.54","-0.23%" -"Jan 25, 2013","1,658.69","1,667.88","1,672.59","1,655.78","-0.54%" -"Jan 24, 2013","1,667.74","1,686.35","1,686.45","1,665.08","-1.07%" -"Jan 23, 2013","1,685.75","1,692.37","1,695.61","1,683.45","-0.38%" -"Jan 22, 2013","1,692.10","1,690.05","1,696.26","1,686.64","0.12%" -"Jan 21, 2013","1,690.05","1,684.90","1,691.60","1,684.90","0.36%" -"Jan 18, 2013","1,683.95","1,687.25","1,695.51","1,683.60","-0.22%" -"Jan 17, 2013","1,687.64","1,679.79","1,695.94","1,666.94","0.48%" -"Jan 16, 2013","1,679.50","1,678.65","1,685.11","1,673.55","0.04%" -"Jan 15, 2013","1,678.90","1,666.94","1,685.30","1,666.44","0.70%" -"Jan 14, 2013","1,667.20","1,661.95","1,674.80","1,660.04","0.25%" -"Jan 11, 2013","1,663.05","1,675.28","1,677.05","1,654.05","-0.73%" -"Jan 10, 2013","1,675.25","1,657.97","1,679.21","1,654.10","1.05%" -"Jan 09, 2013","1,657.90","1,658.83","1,666.41","1,651.45","-0.07%" -"Jan 08, 2013","1,659.00","1,647.21","1,662.30","1,646.64","0.71%" -"Jan 07, 2013","1,647.25","1,656.51","1,662.71","1,642.75","-0.58%" -"Jan 04, 2013","1,656.85","1,663.42","1,664.42","1,626.40","-0.39%" -"Jan 03, 2013","1,663.35","1,686.54","1,690.00","1,660.89","-1.39%" -"Jan 02, 2013","1,686.75","1,675.03","1,695.10","1,670.39","0.69%" -"Jan 01, 2013","1,675.15","1,675.26","1,676.21","1,664.55","0.01%" -"Dec 31, 2012","1,674.95","1,656.21","1,680.71","1,655.71","1.18%" -"Dec 28, 2012","1,655.40","1,663.84","1,666.49","1,653.44","-0.51%" -"Dec 27, 2012","1,663.90","1,660.31","1,665.76","1,653.05","0.23%" -"Dec 26, 2012","1,660.14","1,658.12","1,667.89","1,650.38","0.07%" -"Dec 25, 2012","1,658.90","1,657.91","1,663.15","1,657.81","0.09%" -"Dec 24, 2012","1,657.48","1,657.79","1,665.90","1,652.13","0.03%" -"Dec 21, 2012","1,656.99","1,647.64","1,659.68","1,635.62","0.56%" -"Dec 20, 2012","1,647.75","1,667.22","1,672.12","1,635.70","-1.15%" -"Dec 19, 2012","1,666.94","1,670.38","1,676.99","1,663.42","-0.19%" -"Dec 18, 2012","1,670.15","1,698.21","1,703.47","1,661.62","-1.64%" -"Dec 17, 2012","1,697.93","1,695.76","1,700.03","1,687.05","0.15%" -"Dec 14, 2012","1,695.47","1,697.41","1,700.74","1,693.45","-0.11%" -"Dec 13, 2012","1,697.30","1,711.81","1,712.11","1,689.55","-0.86%" -"Dec 12, 2012","1,711.95","1,709.99","1,723.41","1,707.84","0.11%" -"Dec 11, 2012","1,710.10","1,712.30","1,714.60","1,705.04","-0.01%" -"Dec 10, 2012","1,710.25","1,704.45","1,717.60","1,702.64","0.39%" -"Dec 07, 2012","1,703.65","1,699.31","1,705.61","1,684.40","0.27%" -"Dec 06, 2012","1,699.14","1,693.87","1,703.38","1,686.11","0.30%" -"Dec 05, 2012","1,693.99","1,697.47","1,707.18","1,684.98","-0.20%" -"Dec 04, 2012","1,697.35","1,715.55","1,717.67","1,691.25","-1.04%" -"Dec 03, 2012","1,715.25","1,713.90","1,722.11","1,712.99","0.03%" -"Nov 30, 2012","1,714.80","1,725.71","1,731.90","1,709.09","-0.61%" -"Nov 29, 2012","1,725.40","1,719.50","1,728.71","1,718.40","0.33%" -"Nov 28, 2012","1,719.69","1,741.92","1,743.23","1,706.03","-1.28%" -"Nov 27, 2012","1,742.05","1,748.94","1,751.80","1,738.89","-0.40%" -"Nov 26, 2012","1,749.10","1,753.11","1,753.11","1,746.10","-0.22%" -"Nov 23, 2012","1,753.00","1,729.55","1,754.60","1,728.39","1.36%" -"Nov 22, 2012","1,729.55","1,729.09","1,732.75","1,728.35","0.03%" -"Nov 21, 2012","1,729.11","1,728.57","1,732.08","1,720.91","0.03%" -"Nov 20, 2012","1,728.65","1,732.11","1,735.81","1,722.40","-0.19%" -"Nov 19, 2012","1,731.94","1,713.54","1,735.34","1,713.43","1.06%" -"Nov 16, 2012","1,713.70","1,716.11","1,717.51","1,706.10","-0.12%" -"Nov 15, 2012","1,715.80","1,726.45","1,727.96","1,705.30","-0.62%" -"Nov 14, 2012","1,726.45","1,725.50","1,733.40","1,720.81","0.06%" -"Nov 13, 2012","1,725.50","1,728.51","1,733.21","1,718.30","-0.16%" -"Nov 12, 2012","1,728.35","1,732.00","1,738.41","1,725.90","-0.17%" -"Nov 09, 2012","1,731.24","1,731.64","1,739.05","1,727.05","0.01%" -"Nov 08, 2012","1,730.99","1,717.32","1,735.82","1,713.61","0.83%" -"Nov 07, 2012","1,716.69","1,715.98","1,731.79","1,702.97","0.04%" -"Nov 06, 2012","1,715.95","1,684.93","1,721.01","1,683.80","1.86%" -"Nov 05, 2012","1,684.60","1,677.20","1,686.57","1,672.85","0.40%" -"Nov 02, 2012","1,677.85","1,714.79","1,717.06","1,674.44","-2.15%" -"Nov 01, 2012","1,714.70","1,720.66","1,727.11","1,713.55","-0.34%" -"Oct 31, 2012","1,720.55","1,709.96","1,726.05","1,709.54","0.65%" -"Oct 30, 2012","1,709.49","1,710.06","1,715.61","1,705.20","-0.02%" -"Oct 29, 2012","1,709.85","1,711.50","1,717.57","1,706.00","-0.09%" -"Oct 26, 2012","1,711.35","1,712.00","1,718.91","1,700.95","-0.03%" -"Oct 25, 2012","1,711.80","1,701.85","1,718.21","1,701.40","0.55%" -"Oct 24, 2012","1,702.43","1,708.39","1,714.56","1,698.89","-0.37%" -"Oct 23, 2012","1,708.70","1,728.40","1,730.60","1,704.11","-1.20%" -"Oct 22, 2012","1,729.45","1,721.80","1,729.61","1,714.00","0.50%" -"Oct 19, 2012","1,720.90","1,740.59","1,743.58","1,716.29","-1.19%" -"Oct 18, 2012","1,741.70","1,749.91","1,752.40","1,738.41","-0.49%" -"Oct 17, 2012","1,750.30","1,748.40","1,753.81","1,743.20","0.14%" -"Oct 16, 2012","1,747.80","1,736.30","1,748.61","1,734.90","0.67%" -"Oct 15, 2012","1,736.10","1,753.60","1,753.60","1,729.36","-1.03%" -"Oct 12, 2012","1,754.25","1,768.79","1,773.60","1,752.34","-0.82%" -"Oct 11, 2012","1,768.80","1,761.80","1,775.31","1,758.70","0.35%" -"Oct 10, 2012","1,762.55","1,764.26","1,768.41","1,757.47","-0.09%" -"Oct 09, 2012","1,764.15","1,775.45","1,779.96","1,760.55","-0.61%" -"Oct 08, 2012","1,774.90","1,780.71","1,780.90","1,766.75","-0.34%" -"Oct 05, 2012","1,780.98","1,790.79","1,796.19","1,772.84","-0.53%" -"Oct 04, 2012","1,790.55","1,779.19","1,796.90","1,779.19","0.64%" -"Oct 03, 2012","1,779.15","1,774.10","1,782.31","1,771.00","0.06%" -"Oct 02, 2012","1,778.00","1,776.40","1,784.81","1,771.57","0.20%" -"Oct 01, 2012","1,774.40","1,771.20","1,791.81","1,763.55","0.18%" -"Sep 28, 2012","1,771.22","1,777.72","1,783.63","1,767.53","-0.38%" -"Sep 27, 2012","1,777.90","1,754.90","1,780.81","1,751.36","1.47%" -"Sep 26, 2012","1,752.20","1,760.50","1,766.01","1,738.11","-0.48%" -"Sep 25, 2012","1,760.65","1,764.26","1,775.51","1,758.41","-0.20%" -"Sep 24, 2012","1,764.15","1,773.39","1,773.39","1,755.80","-0.50%" -"Sep 21, 2012","1,773.05","1,767.30","1,787.81","1,766.40","0.36%" -"Sep 20, 2012","1,766.70","1,769.85","1,772.50","1,756.10","-0.18%" -"Sep 19, 2012","1,769.80","1,769.85","1,768.35","1,765.65","-0.06%" -"Sep 18, 2012","1,770.95","1,761.55","1,773.61","1,752.95","0.54%" -"Sep 17, 2012","1,761.45","1,774.74","1,776.76","1,754.59","-0.62%" -"Sep 14, 2012","1,772.48","1,766.44","1,778.01","1,765.04","0.32%" -"Sep 13, 2012","1,766.90","1,730.65","1,772.87","1,717.25","2.04%" -"Sep 12, 2012","1,731.50","1,732.54","1,746.70","1,725.79","-0.01%" -"Sep 11, 2012","1,731.75","1,726.10","1,737.91","1,725.45","0.34%" -"Sep 10, 2012","1,725.80","1,735.85","1,740.26","1,724.91","-0.62%" -"Sep 07, 2012","1,736.50","1,701.94","1,741.80","1,689.20","2.05%" -"Sep 06, 2012","1,701.65","1,693.45","1,713.52","1,691.65","0.47%" -"Sep 05, 2012","1,693.65","1,695.05","1,696.37","1,687.65","-0.16%" -"Sep 04, 2012","1,696.40","1,692.99","1,700.45","1,689.96","0.24%" -"Sep 03, 2012","1,692.40","1,692.20","1,695.61","1,685.70","0.07%" -"Aug 31, 2012","1,691.15","1,656.15","1,693.32","1,647.34","2.11%" -"Aug 30, 2012","1,656.15","1,656.55","1,664.51","1,651.80","-0.02%" -"Aug 29, 2012","1,656.55","1,667.25","1,670.15","1,652.97","-0.63%" -"Aug 28, 2012","1,667.03","1,663.44","1,672.70","1,657.44","0.18%" -"Aug 27, 2012","1,664.10","1,671.44","1,676.95","1,663.09","-0.37%" -"Aug 24, 2012","1,670.35","1,670.14","1,673.81","1,662.79","-0.02%" -"Aug 23, 2012","1,670.65","1,654.00","1,675.41","1,652.41","1.01%" -"Aug 22, 2012","1,654.00","1,638.20","1,656.41","1,634.87","0.95%" -"Aug 21, 2012","1,638.50","1,620.55","1,641.81","1,618.66","1.10%" -"Aug 20, 2012","1,620.70","1,616.26","1,623.01","1,610.20","0.30%" -"Aug 17, 2012","1,615.80","1,614.44","1,620.10","1,611.90","0.06%" -"Aug 16, 2012","1,614.80","1,604.14","1,618.99","1,600.79","0.71%" -"Aug 15, 2012","1,603.38","1,598.64","1,606.40","1,590.19","0.30%" -"Aug 14, 2012","1,598.65","1,610.16","1,616.81","1,594.71","-0.71%" -"Aug 13, 2012","1,610.15","1,620.35","1,625.82","1,607.71","-0.61%" -"Aug 10, 2012","1,620.05","1,617.64","1,626.56","1,605.70","0.15%" -"Aug 09, 2012","1,617.70","1,612.10","1,618.72","1,609.85","0.36%" -"Aug 08, 2012","1,611.90","1,611.29","1,617.01","1,603.55","0.04%" -"Aug 07, 2012","1,611.18","1,610.99","1,618.41","1,609.09","0.01%" -"Aug 06, 2012","1,611.00","1,605.00","1,615.61","1,602.85","0.42%" -"Aug 03, 2012","1,604.30","1,590.28","1,606.91","1,586.74","0.88%" -"Aug 02, 2012","1,590.35","1,599.25","1,614.90","1,585.10","-0.55%" -"Aug 01, 2012","1,599.20","1,599.25","1,618.90","1,592.35","-0.91%" -"Jul 31, 2012","1,613.90","1,621.30","1,628.31","1,610.95","-0.44%" -"Jul 30, 2012","1,621.10","1,625.10","1,626.70","1,614.85","-0.13%" -"Jul 27, 2012","1,623.28","1,616.14","1,629.60","1,611.99","0.44%" -"Jul 26, 2012","1,616.20","1,605.00","1,622.02","1,601.50","0.67%" -"Jul 25, 2012","1,605.38","1,581.44","1,611.41","1,579.94","1.57%" -"Jul 24, 2012","1,580.50","1,580.40","1,584.66","1,568.35","0.23%" -"Jul 23, 2012","1,576.90","1,582.64","1,584.26","1,564.49","-0.42%" -"Jul 20, 2012","1,583.63","1,582.01","1,587.91","1,574.04","0.10%" -"Jul 19, 2012","1,582.05","1,573.89","1,593.00","1,573.64","0.52%" -"Jul 18, 2012","1,573.80","1,584.29","1,587.16","1,568.84","-0.57%" -"Jul 17, 2012","1,582.75","1,591.19","1,600.50","1,572.66","-0.42%" -"Jul 16, 2012","1,589.35","1,591.39","1,595.30","1,578.79","0.02%" -"Jul 13, 2012","1,589.05","1,571.20","1,597.11","1,566.25","1.06%" -"Jul 12, 2012","1,572.40","1,576.85","1,578.36","1,554.95","-0.29%" -"Jul 11, 2012","1,576.90","1,565.41","1,583.41","1,565.41","0.66%" -"Jul 10, 2012","1,566.50","1,591.16","1,602.90","1,565.89","-1.30%" -"Jul 09, 2012","1,587.15","1,580.84","1,593.30","1,576.39","0.27%" -"Jul 06, 2012","1,582.90","1,604.95","1,610.00","1,576.70","-1.36%" -"Jul 05, 2012","1,604.75","1,617.34","1,625.80","1,598.89","-0.67%" -"Jul 04, 2012","1,615.63","1,617.24","1,620.59","1,611.94","-0.06%" -"Jul 03, 2012","1,616.65","1,598.69","1,626.70","1,596.59","1.27%" -"Jul 02, 2012","1,596.35","1,599.30","1,602.51","1,587.45","-0.14%" -"Jun 29, 2012","1,598.60","1,551.39","1,607.19","1,550.94","3.01%" -"Jun 28, 2012","1,551.90","1,573.61","1,579.31","1,547.85","-1.42%" -"Jun 27, 2012","1,574.30","1,572.50","1,581.91","1,563.15","0.14%" -"Jun 26, 2012","1,572.15","1,583.76","1,587.31","1,567.95","-0.79%" -"Jun 25, 2012","1,584.60","1,572.00","1,588.51","1,566.35","0.79%" -"Jun 22, 2012","1,572.15","1,564.31","1,573.81","1,558.80","0.44%" -"Jun 21, 2012","1,565.30","1,605.06","1,607.29","1,564.49","-2.53%" -"Jun 20, 2012","1,605.90","1,618.81","1,623.01","1,590.90","-0.75%" -"Jun 19, 2012","1,618.07","1,628.51","1,633.51","1,617.51","-0.63%" -"Jun 18, 2012","1,628.40","1,627.31","1,630.31","1,607.10","0.10%" -"Jun 15, 2012","1,626.76","1,622.94","1,633.70","1,619.59","0.21%" -"Jun 14, 2012","1,623.32","1,617.90","1,627.79","1,610.00","0.31%" -"Jun 13, 2012","1,618.35","1,609.26","1,624.97","1,606.20","0.52%" -"Jun 12, 2012","1,610.05","1,596.45","1,618.01","1,586.90","0.85%" -"Jun 11, 2012","1,596.45","1,593.10","1,608.35","1,582.89","0.13%" -"Jun 08, 2012","1,594.45","1,589.15","1,595.47","1,562.05","0.34%" -"Jun 07, 2012","1,589.00","1,620.20","1,629.41","1,579.75","-1.94%" -"Jun 06, 2012","1,620.40","1,617.20","1,641.11","1,614.34","0.20%" -"Jun 05, 2012","1,617.10","1,619.25","1,623.91","1,612.71","-0.08%" -"Jun 04, 2012","1,618.40","1,627.29","1,629.69","1,610.71","-0.48%" -"Jun 01, 2012","1,626.25","1,560.45","1,630.02","1,545.30","4.20%" -"May 31, 2012","1,560.70","1,563.90","1,574.30","1,554.09","-0.11%" -"May 30, 2012","1,562.45","1,554.80","1,569.77","1,532.10","0.43%" -"May 29, 2012","1,555.75","1,574.10","1,582.90","1,548.64","-1.12%" -"May 28, 2012","1,573.33","1,574.09","1,584.00","1,571.13","-0.01%" -"May 25, 2012","1,573.45","1,558.50","1,574.57","1,551.90","0.93%" -"May 24, 2012","1,559.00","1,563.36","1,579.50","1,553.15","-0.19%" -"May 23, 2012","1,562.00","1,569.19","1,570.35","1,535.41","-0.44%" -"May 22, 2012","1,568.95","1,593.53","1,596.03","1,563.29","-1.49%" -"May 21, 2012","1,592.65","1,593.65","1,600.79","1,586.80","-0.03%" -"May 18, 2012","1,593.09","1,574.78","1,598.68","1,569.05","1.21%" -"May 17, 2012","1,574.00","1,540.39","1,581.70","1,538.80","2.20%" -"May 16, 2012","1,540.05","1,546.10","1,553.80","1,529.00","-0.28%" -"May 15, 2012","1,544.45","1,557.15","1,564.06","1,541.60","-0.80%" -"May 14, 2012","1,556.85","1,580.60","1,585.89","1,556.00","-1.47%" -"May 11, 2012","1,580.05","1,593.87","1,595.37","1,573.90","-0.85%" -"May 10, 2012","1,593.66","1,589.69","1,602.20","1,586.07","0.27%" -"May 09, 2012","1,589.34","1,605.67","1,606.64","1,579.78","-0.98%" -"May 08, 2012","1,605.00","1,638.57","1,639.52","1,595.55","-2.08%" -"May 07, 2012","1,639.15","1,641.79","1,644.40","1,634.21","-0.22%" -"May 04, 2012","1,642.83","1,636.00","1,647.27","1,626.91","0.43%" -"May 03, 2012","1,635.76","1,653.26","1,653.72","1,631.17","-1.07%" -"May 02, 2012","1,653.50","1,662.40","1,663.40","1,646.71","-0.52%" -"May 01, 2012","1,662.10","1,666.75","1,673.20","1,658.59","-0.14%" -"Apr 30, 2012","1,664.36","1,662.42","1,666.58","1,644.98","0.14%" -"Apr 27, 2012","1,662.05","1,657.15","1,667.72","1,650.55","0.31%" -"Apr 26, 2012","1,656.90","1,645.98","1,662.60","1,643.15","0.74%" -"Apr 25, 2012","1,644.70","1,641.41","1,646.53","1,624.47","0.23%" -"Apr 24, 2012","1,641.00","1,638.75","1,649.52","1,633.95","0.14%" -"Apr 23, 2012","1,638.70","1,643.44","1,644.90","1,621.99","-0.24%" -"Apr 20, 2012","1,642.70","1,643.55","1,647.31","1,638.95","-0.05%" -"Apr 19, 2012","1,643.60","1,643.49","1,655.00","1,632.80","0.09%" -"Apr 18, 2012","1,642.07","1,651.24","1,656.05","1,639.29","-0.47%" -"Apr 17, 2012","1,649.90","1,652.90","1,657.71","1,635.05","-0.13%" -"Apr 16, 2012","1,652.10","1,654.09","1,657.80","1,641.14","-0.42%" -"Apr 13, 2012","1,659.00","1,675.55","1,678.31","1,649.51","-0.98%" -"Apr 12, 2012","1,675.48","1,659.14","1,680.20","1,651.29","1.06%" -"Apr 11, 2012","1,657.95","1,659.49","1,662.90","1,653.44","-0.14%" -"Apr 10, 2012","1,660.35","1,641.13","1,663.10","1,632.20","1.16%" -"Apr 09, 2012","1,641.28","1,641.44","1,649.00","1,627.70","0.11%" -"Apr 06, 2012","1,639.49","1,628.95","1,639.49","1,628.49","0.51%" -"Apr 05, 2012","1,631.25","1,620.36","1,633.67","1,620.15","0.68%" -"Apr 04, 2012","1,620.23","1,644.64","1,648.15","1,612.30","-1.53%" -"Apr 03, 2012","1,645.33","1,676.59","1,681.16","1,639.24","-1.93%" -"Apr 02, 2012","1,677.75","1,668.55","1,680.09","1,676.20","0.53%" -"Mar 30, 2012","1,668.90","1,661.55","1,671.11","1,659.91","0.45%" -"Mar 29, 2012","1,661.38","1,661.94","1,665.29","1,645.39","-0.05%" -"Mar 28, 2012","1,662.18","1,680.21","1,684.41","1,655.11","-1.06%" -"Mar 27, 2012","1,680.05","1,690.30","1,696.81","1,679.11","-0.59%" -"Mar 26, 2012","1,689.98","1,661.81","1,694.00","1,655.60","1.67%" -"Mar 23, 2012","1,662.26","1,645.41","1,666.74","1,642.38","1.06%" -"Mar 22, 2012","1,644.85","1,652.05","1,658.01","1,629.68","-0.34%" -"Mar 21, 2012","1,650.50","1,651.11","1,661.65","1,646.91","0.01%" -"Mar 20, 2012","1,650.35","1,666.04","1,666.29","1,643.29","-0.85%" -"Mar 19, 2012","1,664.55","1,654.98","1,671.40","1,654.14","0.23%" -"Mar 16, 2012","1,660.65","1,659.71","1,665.01","1,639.80","0.15%" -"Mar 15, 2012","1,658.23","1,642.89","1,666.79","1,636.59","0.89%" -"Mar 14, 2012","1,643.60","1,675.74","1,683.45","1,635.59","-1.90%" -"Mar 13, 2012","1,675.50","1,699.66","1,705.97","1,662.60","-1.47%" -"Mar 12, 2012","1,700.53","1,709.08","1,714.30","1,692.84","-0.73%" -"Mar 09, 2012","1,713.09","1,700.20","1,714.59","1,677.84","0.73%" -"Mar 08, 2012","1,700.65","1,685.09","1,703.86","1,682.85","0.93%" -"Mar 07, 2012","1,684.95","1,674.60","1,688.42","1,671.35","0.65%" -"Mar 06, 2012","1,674.00","1,705.97","1,709.00","1,664.35","-1.92%" -"Mar 05, 2012","1,706.70","1,711.05","1,716.76","1,694.64","-0.33%" -"Mar 02, 2012","1,712.30","1,717.70","1,724.19","1,705.19","-0.25%" -"Mar 01, 2012","1,716.55","1,696.20","1,726.21","1,694.70","1.26%" -"Feb 29, 2012","1,695.20","1,784.59","1,790.80","1,688.49","-5.08%" -"Feb 28, 2012","1,785.85","1,767.05","1,789.96","1,766.00","1.11%" -"Feb 27, 2012","1,766.30","1,773.28","1,779.59","1,762.24","-0.41%" -"Feb 24, 2012","1,773.49","1,780.30","1,783.11","1,770.74","-0.37%" -"Feb 23, 2012","1,780.10","1,776.24","1,787.61","1,772.29","0.14%" -"Feb 22, 2012","1,777.55","1,759.59","1,781.80","1,749.54","1.05%" -"Feb 21, 2012","1,759.15","1,734.03","1,760.21","1,731.09","1.45%" -"Feb 20, 2012","1,734.00","1,723.78","1,737.30","1,723.67","0.67%" -"Feb 17, 2012","1,722.45","1,728.84","1,735.95","1,717.45","-0.36%" -"Feb 16, 2012","1,728.70","1,727.79","1,730.01","1,705.49","-0.02%" -"Feb 15, 2012","1,729.01","1,719.62","1,737.47","1,718.52","0.52%" -"Feb 14, 2012","1,720.10","1,722.96","1,727.81","1,712.20","-0.14%" -"Feb 13, 2012","1,722.50","1,725.30","1,733.61","1,716.47","0.15%" -"Feb 10, 2012","1,719.85","1,731.54","1,734.80","1,704.14","-0.56%" -"Feb 09, 2012","1,729.60","1,733.70","1,751.90","1,725.69","-0.23%" -"Feb 08, 2012","1,733.55","1,745.76","1,751.86","1,724.95","-0.74%" -"Feb 07, 2012","1,746.50","1,719.80","1,750.20","1,709.79","1.52%" -"Feb 06, 2012","1,720.30","1,726.30","1,738.09","1,711.79","-0.29%" -"Feb 03, 2012","1,725.30","1,760.06","1,763.76","1,724.35","-1.97%" -"Feb 02, 2012","1,759.99","1,744.20","1,761.57","1,741.49","0.94%" -"Feb 01, 2012","1,743.60","1,738.75","1,751.56","1,732.95","0.24%" -"Jan 31, 2012","1,739.43","1,729.19","1,747.79","1,726.80","0.54%" -"Jan 30, 2012","1,730.05","1,738.05","1,739.35","1,716.69","-0.51%" -"Jan 27, 2012","1,738.89","1,720.49","1,738.91","1,714.80","1.01%" -"Jan 26, 2012","1,721.50","1,710.72","1,730.62","1,703.65","0.56%" -"Jan 25, 2012","1,711.90","1,665.69","1,713.30","1,649.19","2.80%" -"Jan 24, 2012","1,665.20","1,676.99","1,679.89","1,661.29","-0.70%" -"Jan 23, 2012","1,677.00","1,666.68","1,681.66","1,662.59","0.61%" -"Jan 20, 2012","1,666.90","1,657.79","1,667.11","1,644.69","0.56%" -"Jan 19, 2012","1,657.60","1,659.70","1,670.15","1,648.94","-0.22%" -"Jan 18, 2012","1,661.25","1,652.20","1,662.50","1,642.74","0.58%" -"Jan 17, 2012","1,651.74","1,643.84","1,667.87","1,641.45","0.51%" -"Jan 16, 2012","1,643.40","1,639.68","1,647.35","1,631.44","0.25%" -"Jan 13, 2012","1,639.35","1,650.66","1,650.75","1,626.06","-0.65%" -"Jan 12, 2012","1,650.10","1,640.64","1,662.12","1,640.39","0.51%" -"Jan 11, 2012","1,641.80","1,632.39","1,647.40","1,630.29","0.63%" -"Jan 10, 2012","1,631.56","1,611.57","1,640.27","1,608.62","1.24%" -"Jan 09, 2012","1,611.50","1,616.78","1,623.69","1,604.94","-0.33%" -"Jan 06, 2012","1,616.85","1,621.44","1,630.56","1,608.89","-0.38%" -"Jan 05, 2012","1,623.00","1,611.39","1,625.86","1,596.74","0.66%" -"Jan 04, 2012","1,612.40","1,602.75","1,618.92","1,593.10","0.51%" -"Jan 03, 2012","1,604.14","1,566.20","1,607.45","1,565.85","2.42%" -"Jan 02, 2012","1,566.27","1,566.61","1,569.61","1,565.37","0.13%" -"Dec 30, 2011","1,564.30","1,545.89","1,581.26","1,544.75","1.14%" -"Dec 29, 2011","1,546.70","1,556.39","1,561.51","1,522.64","-0.41%" -"Dec 28, 2011","1,553.00","1,593.75","1,593.81","1,550.10","-2.50%" -"Dec 27, 2011","1,592.90","1,607.51","1,607.79","1,589.75","-0.80%" -"Dec 26, 2011","1,605.82","1,607.51","1,612.15","1,597.86","-0.05%" -"Dec 23, 2011","1,606.60","1,606.75","1,614.31","1,603.15","0.12%" -"Dec 22, 2011","1,604.70","1,615.35","1,617.36","1,599.15","-0.65%" -"Dec 21, 2011","1,615.15","1,615.26","1,642.36","1,606.40","-0.03%" -"Dec 20, 2011","1,615.65","1,594.26","1,619.12","1,592.35","1.35%" -"Dec 19, 2011","1,594.10","1,599.35","1,608.50","1,583.44","-0.24%" -"Dec 16, 2011","1,597.95","1,570.24","1,600.95","1,568.86","1.73%" -"Dec 15, 2011","1,570.70","1,574.49","1,594.26","1,561.07","-0.28%" -"Dec 14, 2011","1,575.10","1,632.11","1,641.89","1,564.85","-3.49%" -"Dec 13, 2011","1,632.10","1,666.25","1,678.30","1,622.75","-2.05%" -"Dec 12, 2011","1,666.30","1,711.64","1,715.05","1,657.90","-2.62%" -"Dec 09, 2011","1,711.10","1,708.29","1,724.30","1,703.54","0.13%" -"Dec 08, 2011","1,708.80","1,742.00","1,754.70","1,704.51","-1.91%" -"Dec 07, 2011","1,742.10","1,728.46","1,743.26","1,720.65","0.80%" -"Dec 06, 2011","1,728.20","1,722.50","1,733.46","1,702.85","0.38%" -"Dec 05, 2011","1,721.64","1,746.15","1,755.30","1,718.44","-1.35%" -"Dec 02, 2011","1,745.25","1,745.16","1,762.61","1,738.15","0.00%" -"Dec 01, 2011","1,745.25","1,746.85","1,754.86","1,734.10","-0.03%" -"Nov 30, 2011","1,745.70","1,714.99","1,750.23","1,701.00","1.69%" -"Nov 29, 2011","1,716.75","1,712.05","1,720.76","1,704.11","0.26%" -"Nov 28, 2011","1,712.30","1,680.80","1,720.49","1,680.80","1.91%" -"Nov 25, 2011","1,680.13","1,694.85","1,697.90","1,672.09","-0.86%" -"Nov 24, 2011","1,694.75","1,692.39","1,702.23","1,687.69","0.09%" -"Nov 23, 2011","1,693.30","1,700.66","1,710.77","1,677.94","-0.35%" -"Nov 22, 2011","1,699.20","1,679.30","1,705.80","1,671.55","1.09%" -"Nov 21, 2011","1,680.85","1,723.30","1,726.64","1,666.54","-2.45%" -"Nov 18, 2011","1,723.05","1,722.29","1,737.79","1,711.34","0.23%" -"Nov 17, 2011","1,719.10","1,762.19","1,767.16","1,710.05","-2.45%" -"Nov 16, 2011","1,762.35","1,781.94","1,784.14","1,754.25","-1.07%" -"Nov 15, 2011","1,781.40","1,780.39","1,785.85","1,760.54","0.02%" -"Nov 14, 2011","1,781.00","1,788.14","1,796.16","1,773.59","-0.45%" -"Nov 11, 2011","1,788.99","1,759.64","1,789.41","1,746.05","1.69%" -"Nov 10, 2011","1,759.20","1,770.71","1,775.85","1,736.55","-0.74%" -"Nov 09, 2011","1,772.24","1,785.20","1,799.64","1,764.14","-0.71%" -"Nov 08, 2011","1,785.00","1,794.89","1,803.10","1,777.10","-0.60%" -"Nov 07, 2011","1,795.86","1,753.95","1,798.69","1,752.89","2.38%" -"Nov 04, 2011","1,754.15","1,763.26","1,764.90","1,750.00","-0.51%" -"Nov 03, 2011","1,763.15","1,736.50","1,767.90","1,722.84","1.51%" -"Nov 02, 2011","1,737.00","1,720.90","1,745.89","1,715.74","0.97%" -"Nov 01, 2011","1,720.30","1,716.05","1,725.29","1,683.74","0.29%" -"Oct 31, 2011","1,715.25","1,744.15","1,746.50","1,706.59","-1.59%" -"Oct 28, 2011","1,742.95","1,744.70","1,752.85","1,733.00","-0.09%" -"Oct 27, 2011","1,744.45","1,725.24","1,750.11","1,705.74","1.08%" -"Oct 26, 2011","1,725.75","1,707.19","1,728.50","1,696.70","1.20%" -"Oct 25, 2011","1,705.35","1,654.40","1,710.80","1,645.24","3.19%" -"Oct 24, 2011","1,652.68","1,641.99","1,662.09","1,635.60","0.71%" -"Oct 21, 2011","1,641.02","1,618.99","1,648.59","1,611.44","1.35%" -"Oct 20, 2011","1,619.10","1,643.44","1,645.00","1,603.99","-1.38%" -"Oct 19, 2011","1,641.80","1,654.75","1,665.39","1,639.40","-0.81%" -"Oct 18, 2011","1,655.15","1,671.20","1,677.22","1,627.20","-0.93%" -"Oct 17, 2011","1,670.65","1,683.29","1,696.10","1,666.44","-0.55%" -"Oct 14, 2011","1,679.95","1,667.30","1,684.26","1,661.50","0.79%" -"Oct 13, 2011","1,666.70","1,674.89","1,684.39","1,653.19","-0.63%" -"Oct 12, 2011","1,677.20","1,662.29","1,692.10","1,660.39","0.85%" -"Oct 11, 2011","1,663.10","1,676.45","1,685.22","1,654.46","-0.74%" -"Oct 10, 2011","1,675.44","1,654.14","1,678.10","1,638.09","2.20%" -"Oct 07, 2011","1,639.45","1,644.20","1,666.55","1,625.95","-0.68%" -"Oct 06, 2011","1,650.63","1,641.49","1,655.65","1,632.24","0.59%" -"Oct 05, 2011","1,640.90","1,624.69","1,646.70","1,597.25","1.02%" -"Oct 04, 2011","1,624.30","1,660.65","1,678.86","1,596.00","-2.21%" -"Oct 03, 2011","1,660.95","1,618.35","1,664.46","1,618.35","2.29%" -"Sep 30, 2011","1,623.75","1,615.99","1,640.49","1,607.19","0.57%" -"Sep 29, 2011","1,614.55","1,606.94","1,634.09","1,583.30","0.36%" -"Sep 28, 2011","1,608.80","1,650.25","1,668.85","1,598.70","-2.49%" -"Sep 27, 2011","1,649.95","1,624.79","1,677.19","1,614.91","1.39%" -"Sep 26, 2011","1,627.35","1,657.29","1,662.99","1,534.99","-1.77%" -"Sep 23, 2011","1,656.59","1,737.63","1,756.01","1,629.99","-4.56%" -"Sep 22, 2011","1,735.83","1,779.34","1,786.19","1,721.84","-2.58%" -"Sep 21, 2011","1,781.79","1,803.54","1,816.76","1,778.80","-1.22%" -"Sep 20, 2011","1,803.75","1,778.34","1,811.40","1,770.24","1.41%" -"Sep 19, 2011","1,778.75","1,818.50","1,828.47","1,770.70","-1.83%" -"Sep 16, 2011","1,811.95","1,788.45","1,822.20","1,763.05","1.27%" -"Sep 15, 2011","1,789.14","1,820.60","1,826.49","1,772.54","-1.68%" -"Sep 14, 2011","1,819.70","1,833.64","1,844.89","1,808.29","-0.77%" -"Sep 13, 2011","1,833.80","1,813.75","1,843.70","1,799.25","1.11%" -"Sep 12, 2011","1,813.75","1,857.66","1,861.60","1,801.09","-2.37%" -"Sep 09, 2011","1,857.81","1,868.76","1,885.89","1,824.94","-0.59%" -"Sep 08, 2011","1,868.76","1,816.96","1,870.30","1,812.99","2.85%" -"Sep 07, 2011","1,816.96","1,872.39","1,880.61","1,793.69","-3.03%" -"Sep 06, 2011","1,873.72","1,903.40","1,921.11","1,860.91","-1.41%" -"Sep 05, 2011","1,900.49","1,877.99","1,904.20","1,875.30","0.86%" -"Sep 02, 2011","1,884.20","1,824.84","1,884.90","1,824.00","3.24%" -"Sep 01, 2011","1,825.05","1,823.09","1,830.60","1,814.65","0.07%" -"Aug 31, 2011","1,823.80","1,835.39","1,839.70","1,812.89","-0.63%" -"Aug 30, 2011","1,835.30","1,787.96","1,840.26","1,784.05","2.62%" -"Aug 29, 2011","1,788.45","1,837.84","1,839.24","1,776.64","-2.19%" -"Aug 26, 2011","1,828.55","1,772.64","1,829.15","1,757.24","3.21%" -"Aug 25, 2011","1,771.60","1,750.35","1,774.90","1,703.45","1.17%" -"Aug 24, 2011","1,751.05","1,830.05","1,854.11","1,749.89","-4.32%" -"Aug 23, 2011","1,830.15","1,897.84","1,911.96","1,823.50","-3.58%" -"Aug 22, 2011","1,898.10","1,859.89","1,901.19","1,858.20","2.46%" -"Aug 19, 2011","1,852.45","1,824.35","1,877.50","1,821.35","1.54%" -"Aug 18, 2011","1,824.35","1,789.64","1,829.00","1,784.34","2.00%" -"Aug 17, 2011","1,788.65","1,786.75","1,794.90","1,779.39","0.13%" -"Aug 16, 2011","1,786.30","1,766.30","1,788.20","1,761.99","1.18%" -"Aug 15, 2011","1,765.50","1,746.25","1,766.44","1,728.01","1.08%" -"Aug 12, 2011","1,746.60","1,763.96","1,768.30","1,723.55","-1.20%" -"Aug 11, 2011","1,767.90","1,796.50","1,815.79","1,734.10","-1.51%" -"Aug 10, 2011","1,795.00","1,743.90","1,797.36","1,740.00","2.93%" -"Aug 09, 2011","1,743.90","1,717.35","1,778.79","1,714.75","1.55%" -"Aug 08, 2011","1,717.35","1,662.75","1,720.49","1,662.67","3.14%" -"Aug 05, 2011","1,665.00","1,648.40","1,670.10","1,642.40","1.01%" -"Aug 04, 2011","1,648.40","1,661.20","1,682.17","1,640.09","-0.77%" -"Aug 03, 2011","1,661.20","1,659.75","1,673.15","1,652.00","0.09%" -"Aug 02, 2011","1,659.75","1,620.32","1,661.05","1,616.29","2.45%" -"Aug 01, 2011","1,620.10","1,628.14","1,633.66","1,609.69","-0.40%" -"Jul 29, 2011","1,626.64","1,616.05","1,632.80","1,610.64","0.61%" -"Jul 28, 2011","1,616.85","1,613.50","1,620.10","1,603.40","0.21%" -"Jul 27, 2011","1,613.50","1,618.49","1,628.50","1,608.96","-0.36%" -"Jul 26, 2011","1,619.30","1,614.55","1,620.49","1,608.29","0.29%" -"Jul 25, 2011","1,614.55","1,599.28","1,622.99","1,599.28","0.96%" -"Jul 22, 2011","1,599.25","1,592.98","1,609.01","1,585.36","0.59%" -"Jul 21, 2011","1,589.90","1,598.58","1,606.16","1,586.59","-0.76%" -"Jul 20, 2011","1,602.10","1,589.85","1,603.69","1,583.00","0.87%" -"Jul 19, 2011","1,588.35","1,605.30","1,610.01","1,582.59","-1.06%" -"Jul 18, 2011","1,605.40","1,595.45","1,609.01","1,593.59","0.71%" -"Jul 15, 2011","1,594.10","1,588.75","1,595.65","1,577.81","0.43%" -"Jul 14, 2011","1,587.25","1,582.25","1,594.66","1,579.30","0.32%" -"Jul 13, 2011","1,582.25","1,566.95","1,587.96","1,564.35","0.96%" -"Jul 12, 2011","1,567.20","1,555.60","1,574.96","1,542.30","0.84%" -"Jul 11, 2011","1,554.10","1,544.05","1,557.09","1,541.90","0.64%" -"Jul 08, 2011","1,544.25","1,533.85","1,547.30","1,526.20","0.76%" -"Jul 07, 2011","1,532.55","1,530.10","1,536.20","1,524.81","0.20%" -"Jul 06, 2011","1,529.50","1,517.64","1,535.45","1,511.89","0.87%" -"Jul 05, 2011","1,516.30","1,496.05","1,517.09","1,493.00","1.36%" -"Jul 04, 2011","1,495.95","1,486.50","1,497.06","1,485.91","0.64%" -"Jul 01, 2011","1,486.50","1,502.84","1,504.19","1,480.01","-0.91%" -"Jun 30, 2011","1,500.10","1,512.05","1,514.21","1,498.70","-0.79%" -"Jun 29, 2011","1,512.05","1,501.80","1,513.19","1,500.50","0.74%" -"Jun 28, 2011","1,501.00","1,496.70","1,506.56","1,496.00","0.27%" -"Jun 27, 2011","1,497.00","1,500.50","1,507.29","1,492.30","-0.34%" -"Jun 24, 2011","1,502.15","1,522.70","1,527.41","1,500.41","-1.23%" -"Jun 23, 2011","1,520.85","1,549.29","1,550.85","1,514.70","-1.74%" -"Jun 22, 2011","1,547.80","1,548.45","1,559.75","1,543.10","0.10%" -"Jun 21, 2011","1,546.20","1,540.45","1,548.40","1,538.55","0.37%" -"Jun 20, 2011","1,540.45","1,538.90","1,546.40","1,533.24","0.06%" -"Jun 17, 2011","1,539.50","1,528.85","1,542.15","1,522.50","0.70%" -"Jun 16, 2011","1,528.85","1,530.09","1,532.80","1,522.40","-0.12%" -"Jun 15, 2011","1,530.70","1,523.75","1,534.25","1,514.36","0.43%" -"Jun 14, 2011","1,524.10","1,516.73","1,527.80","1,513.95","0.59%" -"Jun 13, 2011","1,515.23","1,530.50","1,533.06","1,511.61","-1.09%" -"Jun 10, 2011","1,531.90","1,545.60","1,546.99","1,527.74","-0.81%" -"Jun 09, 2011","1,544.35","1,538.80","1,551.30","1,534.90","0.44%" -"Jun 08, 2011","1,537.55","1,545.75","1,548.09","1,532.76","-0.43%" -"Jun 07, 2011","1,544.25","1,543.55","1,550.50","1,536.70","0.02%" -"Jun 06, 2011","1,544.00","1,544.59","1,555.30","1,542.20","0.10%" -"Jun 03, 2011","1,542.50","1,535.74","1,547.46","1,525.89","0.56%" -"Jun 02, 2011","1,533.90","1,542.49","1,546.16","1,521.60","-0.44%" -"Jun 01, 2011","1,540.70","1,535.15","1,550.64","1,529.55","0.35%" -"May 31, 2011","1,535.35","1,539.95","1,542.50","1,534.26","-0.20%" -"May 30, 2011","1,538.45","1,537.24","1,540.00","1,534.39","0.12%" -"May 27, 2011","1,536.65","1,523.59","1,540.10","1,520.00","1.16%" -"May 26, 2011","1,519.05","1,524.26","1,531.70","1,515.39","-0.45%" -"May 25, 2011","1,525.95","1,527.69","1,534.10","1,523.06","-0.03%" -"May 24, 2011","1,526.40","1,518.70","1,529.45","1,515.00","0.61%" -"May 23, 2011","1,517.20","1,512.60","1,518.01","1,504.05","0.24%" -"May 20, 2011","1,513.55","1,495.50","1,517.55","1,488.95","1.34%" -"May 19, 2011","1,493.60","1,498.30","1,501.51","1,488.40","-0.23%" -"May 18, 2011","1,497.00","1,486.30","1,501.60","1,486.30","0.68%" -"May 17, 2011","1,486.85","1,491.20","1,499.60","1,473.50","-0.19%" -"May 16, 2011","1,489.70","1,493.75","1,504.90","1,487.89","-0.32%" -"May 13, 2011","1,494.55","1,506.41","1,516.93","1,483.03","-0.55%" -"May 12, 2011","1,502.85","1,500.25","1,508.30","1,479.30","0.17%" -"May 11, 2011","1,500.25","1,513.25","1,526.80","1,496.15","-1.02%" -"May 10, 2011","1,515.72","1,513.03","1,519.65","1,506.17","0.18%" -"May 09, 2011","1,513.05","1,493.26","1,514.31","1,489.99","1.19%" -"May 06, 2011","1,495.25","1,474.65","1,498.59","1,471.05","1.47%" -"May 05, 2011","1,473.65","1,516.79","1,523.69","1,464.40","-2.79%" -"May 04, 2011","1,515.95","1,537.10","1,543.46","1,506.50","-1.36%" -"May 03, 2011","1,536.83","1,545.34","1,551.80","1,527.96","-0.53%" -"May 02, 2011","1,545.00","1,567.79","1,576.29","1,540.89","-1.32%" -"Apr 29, 2011","1,565.60","1,536.95","1,571.30","1,533.00","1.96%" -"Apr 28, 2011","1,535.45","1,527.51","1,538.85","1,524.25","0.56%" -"Apr 27, 2011","1,526.90","1,506.59","1,530.40","1,503.30","1.32%" -"Apr 26, 2011","1,507.05","1,505.94","1,507.91","1,493.00","-0.01%" -"Apr 25, 2011","1,507.25","1,511.45","1,520.10","1,503.70","-0.06%" -"Apr 22, 2011","1,508.13","1,507.35","1,512.95","1,502.15","0.25%" -"Apr 21, 2011","1,504.35","1,503.49","1,510.75","1,502.35","0.13%" -"Apr 20, 2011","1,502.35","1,497.30","1,507.70","1,495.16","0.48%" -"Apr 19, 2011","1,495.10","1,497.29","1,501.31","1,489.30","-0.03%" -"Apr 18, 2011","1,495.51","1,486.43","1,497.64","1,477.59","0.61%" -"Apr 15, 2011","1,486.50","1,476.79","1,489.90","1,473.20","0.79%" -"Apr 14, 2011","1,474.90","1,459.15","1,477.30","1,454.80","1.18%" -"Apr 13, 2011","1,457.75","1,452.49","1,462.30","1,450.96","0.29%" -"Apr 12, 2011","1,453.60","1,462.15","1,467.50","1,443.89","-0.67%" -"Apr 11, 2011","1,463.40","1,473.55","1,476.61","1,459.20","-0.79%" -"Apr 08, 2011","1,475.10","1,460.39","1,476.85","1,458.25","1.14%" -"Apr 07, 2011","1,458.50","1,460.70","1,466.80","1,454.09","0.07%" -"Apr 06, 2011","1,457.50","1,456.70","1,462.41","1,451.60","0.44%" -"Apr 05, 2011","1,451.10","1,437.05","1,457.35","1,430.10","0.99%" -"Apr 04, 2011","1,436.94","1,428.74","1,438.94","1,427.79","0.60%" -"Apr 01, 2011","1,428.38","1,432.59","1,436.55","1,413.05","-0.25%" -"Mar 31, 2011","1,432.00","1,424.85","1,441.30","1,422.25","0.57%" -"Mar 30, 2011","1,423.88","1,418.52","1,430.50","1,412.25","0.36%" -"Mar 29, 2011","1,418.80","1,422.20","1,425.10","1,412.85","-0.13%" -"Mar 28, 2011","1,420.65","1,427.85","1,430.04","1,411.95","-0.63%" -"Mar 25, 2011","1,429.65","1,432.80","1,438.70","1,422.79","-0.10%" -"Mar 24, 2011","1,431.10","1,439.29","1,449.40","1,425.20","-0.49%" -"Mar 23, 2011","1,438.20","1,429.49","1,442.90","1,427.61","0.68%" -"Mar 22, 2011","1,428.55","1,427.95","1,428.74","1,424.86","0.11%" -"Mar 21, 2011","1,427.05","1,426.46","1,436.70","1,425.19","0.53%" -"Mar 18, 2011","1,419.55","1,405.39","1,425.70","1,403.40","1.08%" -"Mar 17, 2011","1,404.40","1,401.99","1,406.95","1,388.25","0.22%" -"Mar 16, 2011","1,401.30","1,396.80","1,408.35","1,393.85","0.38%" -"Mar 15, 2011","1,395.95","1,429.49","1,429.49","1,382.90","-2.29%" -"Mar 14, 2011","1,428.65","1,422.09","1,433.89","1,419.79","0.79%" -"Mar 11, 2011","1,417.40","1,412.90","1,424.55","1,404.70","0.28%" -"Mar 10, 2011","1,413.45","1,429.45","1,431.75","1,403.12","-1.12%" -"Mar 09, 2011","1,429.50","1,428.59","1,436.55","1,423.31","0.04%" -"Mar 08, 2011","1,428.89","1,431.20","1,437.16","1,423.70","-0.30%" -"Mar 07, 2011","1,433.17","1,428.28","1,445.03","1,428.28","0.27%" -"Mar 04, 2011","1,429.30","1,416.09","1,432.36","1,413.41","0.91%" -"Mar 03, 2011","1,416.40","1,435.15","1,436.55","1,410.36","-1.29%" -"Mar 02, 2011","1,434.95","1,434.15","1,440.50","1,427.90","0.08%" -"Mar 01, 2011","1,433.85","1,410.94","1,435.00","1,409.35","1.57%" -"Feb 28, 2011","1,411.65","1,408.90","1,416.60","1,404.60","0.17%" -"Feb 25, 2011","1,409.25","1,402.06","1,412.14","1,399.54","0.64%" -"Feb 24, 2011","1,400.25","1,411.97","1,418.42","1,392.00","-0.72%" -"Feb 23, 2011","1,410.45","1,399.66","1,416.80","1,395.70","0.88%" -"Feb 22, 2011","1,398.15","1,406.56","1,411.26","1,393.14","-0.59%" -"Feb 21, 2011","1,406.45","1,388.45","1,408.70","1,388.45","1.38%" -"Feb 18, 2011","1,387.30","1,383.74","1,392.15","1,382.00","0.26%" -"Feb 17, 2011","1,383.67","1,374.53","1,385.28","1,374.43","0.62%" -"Feb 16, 2011","1,375.11","1,373.45","1,382.29","1,368.45","0.12%" -"Feb 15, 2011","1,373.40","1,362.02","1,376.85","1,360.85","0.81%" -"Feb 14, 2011","1,362.31","1,359.36","1,367.15","1,354.45","0.46%" -"Feb 11, 2011","1,356.10","1,363.51","1,368.51","1,353.99","-0.43%" -"Feb 10, 2011","1,362.01","1,363.41","1,366.57","1,350.78","-0.07%" -"Feb 09, 2011","1,362.95","1,364.14","1,367.40","1,358.36","-0.08%" -"Feb 08, 2011","1,364.00","1,350.65","1,368.18","1,348.45","1.10%" -"Feb 07, 2011","1,349.10","1,348.15","1,353.40","1,343.13","-0.01%" -"Feb 04, 2011","1,349.25","1,353.80","1,358.43","1,345.30","-0.29%" -"Feb 03, 2011","1,353.20","1,336.35","1,356.15","1,325.14","1.23%" -"Feb 02, 2011","1,336.80","1,340.89","1,343.79","1,326.80","-0.28%" -"Feb 01, 2011","1,340.60","1,332.15","1,343.60","1,325.65","0.63%" -"Jan 31, 2011","1,332.19","1,336.93","1,346.18","1,323.29","-0.24%" -"Jan 28, 2011","1,335.35","1,312.95","1,347.21","1,308.56","1.82%" -"Jan 27, 2011","1,311.49","1,346.74","1,341.64","1,309.09","-2.56%" -"Jan 26, 2011","1,345.89","1,333.11","1,346.76","1,325.06","0.91%" -"Jan 25, 2011","1,333.75","1,334.49","1,338.75","1,323.05","-0.07%" -"Jan 24, 2011","1,334.70","1,343.25","1,353.40","1,333.85","-0.58%" -"Jan 21, 2011","1,342.51","1,345.91","1,350.70","1,337.95","-0.25%" -"Jan 20, 2011","1,345.85","1,370.35","1,371.55","1,343.00","-1.78%" -"Jan 19, 2011","1,370.20","1,368.10","1,379.16","1,365.70","0.18%" -"Jan 18, 2011","1,367.76","1,361.45","1,376.61","1,360.01","0.37%" -"Jan 17, 2011","1,362.78","1,359.53","1,366.22","1,357.47","0.07%" -"Jan 14, 2011","1,361.85","1,373.35","1,378.35","1,355.49","-0.91%" -"Jan 13, 2011","1,374.36","1,388.16","1,393.61","1,370.17","-0.88%" -"Jan 12, 2011","1,386.50","1,381.00","1,389.40","1,376.65","0.29%" -"Jan 11, 2011","1,382.45","1,374.90","1,386.96","1,372.90","0.54%" -"Jan 10, 2011","1,375.05","1,369.30","1,376.50","1,365.64","0.40%" -"Jan 07, 2011","1,369.60","1,372.10","1,379.74","1,353.30","-0.13%" -"Jan 06, 2011","1,371.40","1,377.95","1,380.20","1,364.95","-0.44%" -"Jan 05, 2011","1,377.48","1,380.94","1,385.73","1,364.48","-0.23%" -"Jan 04, 2011","1,380.60","1,414.38","1,417.59","1,372.38","-2.38%" -"Jan 03, 2011","1,414.30","1,421.30","1,424.07","1,412.24","-0.50%" -"Dec 31, 2010","1,421.45","1,406.15","1,423.15","1,405.25","1.21%" -"Dec 30, 2010","1,404.45","1,411.35","1,414.95","1,402.55","-0.46%" -"Dec 29, 2010","1,410.95","1,405.96","1,414.35","1,400.75","0.32%" -"Dec 28, 2010","1,406.39","1,383.95","1,407.15","1,382.45","1.61%" -"Dec 27, 2010","1,384.10","1,384.75","1,386.70","1,372.75","-0.05%" -"Dec 24, 2010","1,384.75","1,380.55","1,386.14","1,378.82","0.32%" -"Dec 23, 2010","1,380.35","1,385.05","1,388.96","1,372.61","-0.34%" -"Dec 22, 2010","1,385.00","1,385.75","1,391.20","1,382.04","-0.05%" -"Dec 21, 2010","1,385.74","1,385.26","1,392.39","1,381.16","0.08%" -"Dec 20, 2010","1,384.65","1,376.80","1,388.45","1,376.24","0.67%" -"Dec 17, 2010","1,375.41","1,371.51","1,379.36","1,365.05","0.42%" -"Dec 16, 2010","1,369.70","1,380.80","1,386.75","1,361.75","-0.73%" -"Dec 15, 2010","1,379.80","1,396.05","1,397.40","1,377.39","-1.18%" -"Dec 14, 2010","1,396.25","1,393.40","1,408.10","1,392.05","0.18%" -"Dec 13, 2010","1,393.76","1,383.76","1,399.44","1,380.55","0.56%" -"Dec 10, 2010","1,386.05","1,387.80","1,392.55","1,372.30","-0.11%" -"Dec 09, 2010","1,387.64","1,382.05","1,394.54","1,379.68","0.40%" -"Dec 08, 2010","1,382.10","1,401.19","1,404.42","1,371.85","-1.41%" -"Dec 07, 2010","1,401.89","1,423.45","1,431.45","1,396.49","-1.52%" -"Dec 06, 2010","1,423.55","1,415.56","1,427.51","1,409.15","0.60%" -"Dec 03, 2010","1,415.05","1,385.36","1,415.91","1,383.55","2.20%" -"Dec 02, 2010","1,384.65","1,387.69","1,398.60","1,382.95","-0.18%" -"Dec 01, 2010","1,387.10","1,385.70","1,397.11","1,382.15","0.16%" -"Nov 30, 2010","1,384.85","1,368.40","1,390.15","1,363.04","1.20%" -"Nov 29, 2010","1,368.37","1,364.30","1,371.13","1,354.97","0.29%" -"Nov 26, 2010","1,364.42","1,374.49","1,375.16","1,350.64","-0.74%" -"Nov 25, 2010","1,374.62","1,373.55","1,375.40","1,368.25","-0.02%" -"Nov 24, 2010","1,374.90","1,377.00","1,381.70","1,369.60","-0.17%" -"Nov 23, 2010","1,377.20","1,366.40","1,382.40","1,356.35","0.79%" -"Nov 22, 2010","1,366.35","1,354.70","1,368.11","1,348.55","0.95%" -"Nov 19, 2010","1,353.50","1,350.49","1,363.29","1,341.90","-0.03%" -"Nov 18, 2010","1,353.85","1,336.00","1,359.55","1,335.59","1.24%" -"Nov 17, 2010","1,337.25","1,340.00","1,345.20","1,331.30","-0.27%" -"Nov 16, 2010","1,340.85","1,360.40","1,364.85","1,329.85","-1.37%" -"Nov 15, 2010","1,359.49","1,366.95","1,377.16","1,355.59","-0.69%" -"Nov 12, 2010","1,368.95","1,409.90","1,410.61","1,360.26","-2.87%" -"Nov 11, 2010","1,409.35","1,403.30","1,418.25","1,396.95","0.40%" -"Nov 10, 2010","1,403.75","1,392.70","1,410.80","1,384.25","0.92%" -"Nov 09, 2010","1,390.95","1,410.41","1,425.36","1,383.74","-1.31%" -"Nov 08, 2010","1,409.45","1,394.90","1,410.70","1,387.14","1.12%" -"Nov 05, 2010","1,393.90","1,392.69","1,398.35","1,374.15","0.08%" -"Nov 04, 2010","1,392.75","1,348.09","1,393.66","1,346.75","3.27%" -"Nov 03, 2010","1,348.65","1,357.96","1,365.25","1,324.64","-0.65%" -"Nov 02, 2010","1,357.50","1,351.25","1,359.95","1,350.70","0.43%" -"Nov 01, 2010","1,351.75","1,361.19","1,366.49","1,349.80","-0.57%" -"Oct 29, 2010","1,359.55","1,344.09","1,359.95","1,335.56","1.13%" -"Oct 28, 2010","1,344.35","1,325.59","1,346.50","1,323.55","1.44%" -"Oct 27, 2010","1,325.30","1,339.65","1,344.00","1,319.24","-1.09%" -"Oct 26, 2010","1,339.90","1,339.45","1,343.90","1,328.41","-0.04%" -"Oct 25, 2010","1,340.45","1,331.89","1,350.20","1,331.80","0.92%" -"Oct 22, 2010","1,328.20","1,326.05","1,329.35","1,316.09","0.20%" -"Oct 21, 2010","1,325.50","1,346.10","1,350.05","1,318.74","-1.55%" -"Oct 20, 2010","1,346.35","1,334.80","1,348.20","1,330.80","0.82%" -"Oct 19, 2010","1,335.45","1,369.40","1,372.05","1,329.30","-2.51%" -"Oct 18, 2010","1,369.80","1,371.00","1,375.30","1,353.05","0.05%" -"Oct 15, 2010","1,369.15","1,380.85","1,386.25","1,363.20","-0.88%" -"Oct 14, 2010","1,381.30","1,372.70","1,388.10","1,371.25","0.67%" -"Oct 13, 2010","1,372.10","1,350.65","1,375.15","1,349.40","1.59%" -"Oct 12, 2010","1,350.60","1,354.50","1,356.30","1,341.45","-0.25%" -"Oct 11, 2010","1,353.95","1,346.40","1,356.15","1,340.85","0.53%" -"Oct 08, 2010","1,346.80","1,332.90","1,350.20","1,325.35","0.98%" -"Oct 07, 2010","1,333.70","1,349.65","1,365.60","1,326.55","-1.16%" -"Oct 06, 2010","1,349.40","1,341.00","1,350.80","1,339.65","0.65%" -"Oct 05, 2010","1,340.75","1,314.00","1,342.20","1,312.25","1.94%" -"Oct 04, 2010","1,315.25","1,318.40","1,321.00","1,313.25","-0.27%" -"Oct 01, 2010","1,318.80","1,310.55","1,322.30","1,307.10","0.71%" -"Sep 30, 2010","1,309.50","1,310.35","1,316.80","1,296.90","-0.03%" -"Sep 29, 2010","1,309.90","1,309.00","1,314.20","1,306.15","0.06%" -"Sep 28, 2010","1,309.10","1,295.30","1,311.10","1,283.60","1.09%" -"Sep 27, 2010","1,295.00","1,298.50","1,301.00","1,293.50","-0.15%" -"Sep 24, 2010","1,296.95","1,292.90","1,300.95","1,292.30","0.34%" -"Sep 23, 2010","1,292.55","1,292.40","1,297.35","1,288.25","0.09%" -"Sep 22, 2010","1,291.35","1,286.60","1,296.60","1,285.80","0.34%" -"Sep 21, 2010","1,286.95","1,279.15","1,292.70","1,271.85","0.67%" -"Sep 20, 2010","1,278.35","1,277.40","1,285.20","1,275.50","0.27%" -"Sep 17, 2010","1,274.90","1,276.00","1,284.25","1,273.10","-0.05%" -"Sep 16, 2010","1,275.55","1,268.10","1,278.70","1,265.65","0.59%" -"Sep 15, 2010","1,268.05","1,268.10","1,272.35","1,263.45","-0.06%" -"Sep 14, 2010","1,268.85","1,245.00","1,275.25","1,244.50","1.88%" -"Sep 13, 2010","1,245.45","1,245.90","1,249.70","1,241.45","-0.08%" -"Sep 10, 2010","1,246.45","1,244.30","1,251.65","1,237.05","0.19%" -"Sep 09, 2010","1,244.10","1,253.45","1,259.30","1,242.70","-0.88%" -"Sep 08, 2010","1,255.20","1,254.55","1,262.75","1,253.50","-0.02%" -"Sep 07, 2010","1,255.40","1,248.55","1,260.30","1,244.50","0.43%" -"Sep 06, 2010","1,250.05","1,248.60","1,251.45","1,247.05","0.24%" -"Sep 03, 2010","1,247.10","1,252.40","1,255.10","1,237.00","-0.33%" -"Sep 02, 2010","1,251.25","1,244.30","1,253.80","1,243.50","0.55%" -"Sep 01, 2010","1,244.35","1,248.00","1,255.15","1,242.75","-0.26%" -"Aug 31, 2010","1,247.65","1,236.95","1,251.90","1,233.75","0.88%" -"Aug 30, 2010","1,236.80","1,237.00","1,238.80","1,233.80","-0.11%" -"Aug 27, 2010","1,238.20","1,236.94","1,244.25","1,233.75","0.17%" -"Aug 26, 2010","1,236.05","1,240.55","1,246.00","1,235.85","-0.33%" -"Aug 25, 2010","1,240.10","1,229.65","1,242.35","1,229.65","0.84%" -"Aug 24, 2010","1,229.75","1,225.70","1,236.00","1,210.60","0.35%" -"Aug 23, 2010","1,225.40","1,229.10","1,233.85","1,223.65","-0.22%" -"Aug 20, 2010","1,228.05","1,230.70","1,233.05","1,222.25","-0.33%" -"Aug 19, 2010","1,232.10","1,230.60","1,239.15","1,229.30","0.21%" -"Aug 18, 2010","1,229.55","1,225.30","1,233.35","1,218.40","0.38%" -"Aug 17, 2010","1,224.90","1,224.90","1,230.45","1,224.10","0.00%" -"Aug 16, 2010","1,224.85","1,214.55","1,229.15","1,214.55","0.77%" -"Aug 13, 2010","1,215.55","1,214.05","1,219.35","1,212.55","0.19%" -"Aug 12, 2010","1,213.20","1,198.40","1,217.25","1,197.85","1.29%" -"Aug 11, 2010","1,197.75","1,204.25","1,209.75","1,194.15","-0.51%" -"Aug 10, 2010","1,203.85","1,201.10","1,208.05","1,191.50","0.20%" -"Aug 09, 2010","1,201.40","1,204.85","1,210.55","1,199.90","-0.32%" -"Aug 06, 2010","1,205.30","1,194.70","1,213.61","1,193.10","0.85%" -"Aug 05, 2010","1,195.10","1,195.35","1,200.55","1,190.65","-0.05%" -"Aug 04, 2010","1,195.75","1,185.70","1,203.35","1,184.40","0.85%" -"Aug 03, 2010","1,185.70","1,181.65","1,191.35","1,179.75","0.33%" -"Aug 02, 2010","1,181.85","1,181.45","1,191.40","1,175.50","0.08%" -"Jul 30, 2010","1,180.90","1,167.35","1,183.95","1,166.00","1.20%" -"Jul 29, 2010","1,166.93","1,163.50","1,169.80","1,159.65","0.29%" -"Jul 28, 2010","1,163.55","1,162.50","1,166.35","1,157.40","0.11%" -"Jul 27, 2010","1,162.30","1,181.90","1,187.75","1,158.15","-1.71%" -"Jul 26, 2010","1,182.50","1,189.25","1,195.30","1,179.65","-0.56%" -"Jul 23, 2010","1,189.10","1,195.05","1,203.95","1,183.81","-0.49%" -"Jul 22, 2010","1,194.95","1,184.90","1,200.60","1,181.05","0.75%" -"Jul 21, 2010","1,186.00","1,191.40","1,198.05","1,183.35","-0.53%" -"Jul 20, 2010","1,192.30","1,184.65","1,194.30","1,175.85","0.73%" -"Jul 19, 2010","1,183.70","1,193.20","1,195.10","1,177.65","-0.83%" -"Jul 16, 2010","1,193.65","1,208.90","1,211.00","1,186.35","-1.23%" -"Jul 15, 2010","1,208.55","1,209.05","1,217.95","1,204.55","0.00%" -"Jul 14, 2010","1,208.50","1,211.75","1,218.85","1,203.16","-0.26%" -"Jul 13, 2010","1,211.65","1,195.30","1,218.60","1,195.30","1.24%" -"Jul 12, 2010","1,196.85","1,212.15","1,214.00","1,196.85","-1.25%" -"Jul 09, 2010","1,212.00","1,197.35","1,213.85","1,194.70","1.13%" -"Jul 08, 2010","1,198.45","1,203.00","1,209.70","1,189.35","-0.32%" -"Jul 07, 2010","1,202.35","1,191.95","1,204.25","1,185.55","0.68%" -"Jul 06, 2010","1,194.25","1,209.40","1,215.25","1,191.30","-1.22%" -"Jul 05, 2010","1,208.95","1,211.10","1,215.35","1,206.55","-0.22%" -"Jul 02, 2010","1,211.60","1,197.00","1,223.35","1,197.00","1.00%" -"Jul 01, 2010","1,199.65","1,242.65","1,244.50","1,197.30","-3.44%" -"Jun 30, 2010","1,242.35","1,239.40","1,248.55","1,235.45","0.11%" -"Jun 29, 2010","1,240.95","1,237.10","1,245.30","1,227.35","0.23%" -"Jun 28, 2010","1,238.05","1,253.75","1,263.45","1,236.42","-1.39%" -"Jun 25, 2010","1,255.50","1,243.45","1,258.65","1,241.35","0.88%" -"Jun 24, 2010","1,244.55","1,235.00","1,248.35","1,228.25","0.59%" -"Jun 23, 2010","1,237.20","1,238.75","1,247.10","1,225.30","-0.19%" -"Jun 22, 2010","1,239.50","1,231.65","1,243.10","1,231.65","0.60%" -"Jun 21, 2010","1,232.15","1,259.10","1,265.40","1,230.95","-2.00%" -"Jun 18, 2010","1,257.35","1,245.30","1,262.90","1,242.00","0.96%" -"Jun 17, 2010","1,245.35","1,230.50","1,251.65","1,229.90","1.12%" -"Jun 16, 2010","1,231.60","1,233.95","1,238.65","1,227.80","-0.23%" -"Jun 15, 2010","1,234.45","1,221.30","1,237.35","1,220.30","1.01%" -"Jun 14, 2010","1,222.15","1,226.45","1,235.00","1,217.05","-0.43%" -"Jun 11, 2010","1,227.40","1,216.75","1,231.70","1,216.75","0.79%" -"Jun 10, 2010","1,217.80","1,231.25","1,234.25","1,215.15","-1.18%" -"Jun 09, 2010","1,232.35","1,235.10","1,242.50","1,223.75","-0.27%" -"Jun 08, 2010","1,235.63","1,240.65","1,252.20","1,233.85","-0.36%" -"Jun 07, 2010","1,240.05","1,219.15","1,245.35","1,211.15","1.64%" -"Jun 04, 2010","1,220.00","1,206.58","1,220.70","1,197.65","0.99%" -"Jun 03, 2010","1,208.05","1,223.20","1,224.95","1,201.15","-1.29%" -"Jun 02, 2010","1,223.85","1,225.60","1,227.95","1,214.65","-0.12%" -"Jun 01, 2010","1,225.30","1,216.10","1,231.20","1,215.05","0.75%" -"May 31, 2010","1,216.21","1,212.05","1,218.30","1,210.20","0.12%" -"May 28, 2010","1,214.81","1,211.45","1,216.15","1,203.01","0.22%" -"May 27, 2010","1,212.10","1,212.15","1,219.35","1,206.60","0.10%" -"May 26, 2010","1,210.90","1,202.55","1,217.21","1,201.10","0.82%" -"May 25, 2010","1,201.10","1,191.40","1,204.95","1,185.90","0.76%" -"May 24, 2010","1,192.05","1,176.93","1,197.00","1,176.48","1.27%" -"May 21, 2010","1,177.15","1,182.30","1,189.35","1,168.50","-0.50%" -"May 20, 2010","1,183.10","1,192.65","1,198.80","1,175.35","-0.73%" -"May 19, 2010","1,191.75","1,223.90","1,228.10","1,187.62","-2.45%" -"May 18, 2010","1,221.70","1,222.30","1,229.85","1,207.35","-0.17%" -"May 17, 2010","1,223.75","1,231.50","1,243.10","1,219.45","-0.75%" -"May 14, 2010","1,233.05","1,232.45","1,249.45","1,219.55","0.06%" -"May 13, 2010","1,232.33","1,235.20","1,243.35","1,227.95","-0.41%" -"May 12, 2010","1,237.35","1,231.00","1,249.15","1,227.40","0.39%" -"May 11, 2010","1,232.55","1,200.70","1,234.15","1,200.70","2.51%" -"May 10, 2010","1,202.40","1,202.35","1,206.00","1,184.35","-0.49%" -"May 07, 2010","1,208.30","1,207.25","1,213.85","1,193.15","-0.04%" -"May 06, 2010","1,208.75","1,176.10","1,211.35","1,173.35","2.85%" -"May 05, 2010","1,175.20","1,171.75","1,177.31","1,158.20","0.30%" -"May 04, 2010","1,171.65","1,181.75","1,192.40","1,167.16","-0.91%" -"May 03, 2010","1,182.40","1,179.00","1,187.91","1,176.30","0.27%" -"Apr 30, 2010","1,179.25","1,168.70","1,182.05","1,161.88","1.04%" -"Apr 29, 2010","1,167.10","1,164.95","1,171.75","1,162.55","0.14%" -"Apr 28, 2010","1,165.45","1,168.03","1,174.68","1,160.65","-0.64%" -"Apr 27, 2010","1,172.93","1,153.78","1,172.93","1,146.55","1.56%" -"Apr 26, 2010","1,154.88","1,156.50","1,160.23","1,151.05","-0.22%" -"Apr 23, 2010","1,157.40","1,141.50","1,158.00","1,135.45","1.40%" -"Apr 22, 2010","1,141.45","1,145.75","1,149.50","1,132.15","-0.42%" -"Apr 21, 2010","1,146.30","1,140.20","1,150.90","1,138.25","0.51%" -"Apr 20, 2010","1,140.50","1,135.70","1,146.30","1,133.45","0.43%" -"Apr 19, 2010","1,135.60","1,134.65","1,138.45","1,124.15","-0.16%" -"Apr 16, 2010","1,137.45","1,158.80","1,160.45","1,130.65","-1.86%" -"Apr 15, 2010","1,158.95","1,155.30","1,162.30","1,150.85","0.35%" -"Apr 14, 2010","1,154.90","1,151.30","1,162.60","1,150.80","0.33%" -"Apr 13, 2010","1,151.15","1,155.55","1,157.90","1,145.75","-0.07%" -"Apr 12, 2010","1,152.00","1,165.69","1,169.19","1,152.00","-0.77%" -"Apr 09, 2010","1,160.90","1,150.95","1,165.35","1,149.70","0.85%" -"Apr 08, 2010","1,151.15","1,149.45","1,154.65","1,144.40","0.27%" -"Apr 07, 2010","1,148.00","1,134.15","1,153.25","1,132.80","1.22%" -"Apr 06, 2010","1,134.20","1,130.65","1,138.90","1,123.00","0.31%" -"Apr 05, 2010","1,130.70","1,125.10","1,134.20","1,119.20","0.91%" -"Apr 02, 2010","1,120.50","1,125.00","1,125.00","1,120.00","-0.53%" -"Apr 01, 2010","1,126.50","1,113.40","1,128.75","1,112.35","1.14%" -"Mar 31, 2010","1,113.80","1,103.70","1,118.90","1,102.45","0.92%" -"Mar 30, 2010","1,103.60","1,110.25","1,114.15","1,102.45","-0.50%" -"Mar 29, 2010","1,109.20","1,110.55","1,115.45","1,104.35","0.23%" -"Mar 26, 2010","1,106.60","1,089.55","1,110.65","1,088.85","1.40%" -"Mar 25, 2010","1,091.35","1,086.50","1,095.95","1,085.45","0.35%" -"Mar 24, 2010","1,087.50","1,101.75","1,105.40","1,085.35","-1.37%" -"Mar 23, 2010","1,102.65","1,102.45","1,108.05","1,094.80","0.03%" -"Mar 22, 2010","1,102.30","1,107.40","1,108.85","1,092.75","-0.47%" -"Mar 19, 2010","1,107.55","1,125.95","1,127.50","1,101.95","-1.63%" -"Mar 18, 2010","1,125.95","1,124.00","1,129.55","1,118.40","0.08%" -"Mar 17, 2010","1,125.05","1,126.10","1,133.80","1,118.85","-0.06%" -"Mar 16, 2010","1,125.70","1,109.45","1,129.45","1,109.05","1.50%" -"Mar 15, 2010","1,109.10","1,100.50","1,109.80","1,100.35","0.60%" -"Mar 12, 2010","1,102.45","1,109.65","1,119.45","1,098.65","-0.63%" -"Mar 11, 2010","1,109.45","1,108.35","1,111.65","1,100.44","0.11%" -"Mar 10, 2010","1,108.20","1,121.65","1,128.15","1,103.25","-1.06%" -"Mar 09, 2010","1,120.10","1,123.30","1,124.70","1,108.95","-0.20%" -"Mar 08, 2010","1,122.40","1,135.70","1,137.80","1,118.55","-0.85%" -"Mar 05, 2010","1,132.05","1,131.80","1,140.70","1,127.00","0.00%" -"Mar 04, 2010","1,132.00","1,139.80","1,141.60","1,126.10","-0.66%" -"Mar 03, 2010","1,139.50","1,134.85","1,145.00","1,132.40","0.43%" -"Mar 02, 2010","1,134.65","1,118.75","1,137.75","1,115.10","1.55%" -"Mar 01, 2010","1,117.35","1,116.55","1,123.70","1,112.05","0.08%" -"Feb 26, 2010","1,116.50","1,105.00","1,119.20","1,104.40","0.94%" -"Feb 25, 2010","1,106.10","1,097.60","1,109.15","1,088.60","0.88%" -"Feb 24, 2010","1,096.40","1,103.40","1,108.35","1,089.85","-0.51%" -"Feb 23, 2010","1,102.05","1,113.80","1,121.20","1,099.35","-1.05%" -"Feb 22, 2010","1,113.70","1,124.90","1,131.05","1,109.70","-0.46%" -"Feb 19, 2010","1,118.85","1,111.30","1,126.95","1,098.95","-0.45%" -"Feb 18, 2010","1,123.90","1,106.35","1,124.05","1,098.20","0.78%" -"Feb 17, 2010","1,115.20","1,119.25","1,127.25","1,111.70","-0.42%" -"Feb 16, 2010","1,119.95","1,099.60","1,121.20","1,097.85","1.72%" -"Feb 15, 2010","1,101.00","1,092.85","1,102.65","1,092.00","0.70%" -"Feb 12, 2010","1,093.40","1,096.70","1,097.35","1,078.55","-0.18%" -"Feb 11, 2010","1,095.35","1,072.00","1,098.15","1,071.35","2.10%" -"Feb 10, 2010","1,072.85","1,077.45","1,082.50","1,063.50","-0.41%" -"Feb 09, 2010","1,077.30","1,062.95","1,083.45","1,061.80","1.27%" -"Feb 08, 2010","1,063.75","1,067.40","1,073.90","1,061.90","-0.16%" -"Feb 05, 2010","1,065.45","1,063.15","1,069.15","1,044.25","0.19%" -"Feb 04, 2010","1,063.45","1,109.30","1,111.10","1,059.50","-4.16%" -"Feb 03, 2010","1,109.65","1,114.40","1,124.85","1,107.20","-0.50%" -"Feb 02, 2010","1,115.20","1,105.80","1,118.35","1,099.00","0.71%" -"Feb 01, 2010","1,107.35","1,080.10","1,107.90","1,076.80","2.39%" -"Jan 29, 2010","1,081.55","1,087.20","1,090.60","1,074.85","-0.44%" -"Jan 28, 2010","1,086.30","1,087.80","1,096.35","1,074.15","-0.05%" -"Jan 27, 2010","1,086.85","1,097.70","1,102.70","1,083.65","-1.02%" -"Jan 26, 2010","1,098.05","1,098.40","1,103.55","1,085.80","-0.02%" -"Jan 25, 2010","1,098.25","1,091.05","1,104.20","1,091.05","0.48%" -"Jan 22, 2010","1,093.00","1,094.65","1,099.15","1,082.30","-0.20%" -"Jan 21, 2010","1,095.15","1,111.65","1,117.85","1,088.70","-1.49%" -"Jan 20, 2010","1,111.70","1,138.50","1,141.60","1,107.40","-2.32%" -"Jan 19, 2010","1,138.10","1,132.05","1,140.80","1,129.00","0.45%" -"Jan 18, 2010","1,133.00","1,129.40","1,137.55","1,126.75","0.19%" -"Jan 15, 2010","1,130.90","1,143.10","1,146.60","1,127.50","-1.08%" -"Jan 14, 2010","1,143.25","1,137.95","1,146.65","1,131.15","0.39%" -"Jan 13, 2010","1,138.80","1,128.50","1,138.85","1,119.75","0.98%" -"Jan 12, 2010","1,127.70","1,151.55","1,158.40","1,125.35","-2.19%" -"Jan 11, 2010","1,153.00","1,137.20","1,161.90","1,137.20","1.44%" -"Jan 08, 2010","1,136.60","1,131.85","1,139.80","1,119.95","0.38%" -"Jan 07, 2010","1,132.30","1,138.20","1,139.15","1,128.60","-0.58%" -"Jan 06, 2010","1,138.90","1,118.40","1,140.60","1,116.00","1.77%" -"Jan 05, 2010","1,119.05","1,121.30","1,128.10","1,115.25","-0.12%" -"Jan 04, 2010","1,120.40","1,096.25","1,123.80","1,093.45","2.10%" -"Jan 01, 2010","1,097.35","1,097.25","1,097.90","1,097.05","0.10%" -"Dec 31, 2009","1,096.20","1,093.15","1,107.10","1,092.10","0.39%" -"Dec 30, 2009","1,091.95","1,097.25","1,098.05","1,086.30","-0.54%" -"Dec 29, 2009","1,097.85","1,106.20","1,108.70","1,096.75","-0.81%" -"Dec 28, 2009","1,106.85","1,106.95","1,114.00","1,101.75","0.21%" -"Dec 25, 2009","1,104.50","1,104.00","1,104.50","1,104.00","-0.09%" -"Dec 24, 2009","1,105.45","1,087.90","1,106.65","1,087.25","1.68%" -"Dec 23, 2009","1,087.20","1,084.10","1,096.05","1,079.60","0.32%" -"Dec 22, 2009","1,083.75","1,093.25","1,097.60","1,074.60","-0.76%" -"Dec 21, 2009","1,092.10","1,111.45","1,119.10","1,090.25","-1.83%" -"Dec 18, 2009","1,112.50","1,098.00","1,117.00","1,096.05","1.30%" -"Dec 17, 2009","1,098.25","1,138.30","1,141.90","1,094.90","-3.49%" -"Dec 16, 2009","1,137.95","1,124.85","1,141.10","1,121.40","1.20%" -"Dec 15, 2009","1,124.50","1,126.75","1,129.30","1,111.70","-0.00%" -"Dec 14, 2009","1,124.55","1,113.80","1,127.90","1,110.25","0.87%" -"Dec 11, 2009","1,114.90","1,130.60","1,142.30","1,109.50","-1.51%" -"Dec 10, 2009","1,132.05","1,129.10","1,137.00","1,121.70","0.30%" -"Dec 09, 2009","1,128.70","1,129.75","1,146.80","1,117.20","-0.12%" -"Dec 08, 2009","1,130.05","1,157.25","1,168.90","1,125.55","-2.44%" -"Dec 07, 2009","1,158.30","1,160.45","1,164.95","1,136.20","-0.29%" -"Dec 04, 2009","1,161.70","1,207.70","1,212.60","1,147.75","-4.07%" -"Dec 03, 2009","1,211.00","1,216.15","1,226.50","1,204.30","-0.33%" -"Dec 02, 2009","1,214.95","1,196.25","1,217.15","1,195.00","1.44%" -"Dec 01, 2009","1,197.70","1,179.65","1,201.80","1,175.45","1.60%" -"Nov 30, 2009","1,178.85","1,176.60","1,182.00","1,163.40","0.10%" -"Nov 27, 2009","1,177.70","1,191.90","1,192.20","1,137.80","-1.29%" -"Nov 26, 2009","1,193.10","1,190.85","1,195.40","1,180.40","0.26%" -"Nov 25, 2009","1,190.05","1,169.25","1,192.00","1,167.05","1.74%" -"Nov 24, 2009","1,169.70","1,165.85","1,171.50","1,157.75","0.38%" -"Nov 23, 2009","1,165.25","1,151.20","1,173.90","1,150.85","1.33%" -"Nov 20, 2009","1,149.95","1,143.95","1,151.30","1,132.80","0.51%" -"Nov 19, 2009","1,144.10","1,145.15","1,146.15","1,129.90","-0.05%" -"Nov 18, 2009","1,144.65","1,141.45","1,153.15","1,135.90","0.32%" -"Nov 17, 2009","1,141.05","1,139.60","1,141.95","1,127.95","0.06%" -"Nov 16, 2009","1,140.35","1,118.30","1,143.65","1,118.30","1.89%" -"Nov 13, 2009","1,119.20","1,103.75","1,119.35","1,101.20","1.40%" -"Nov 12, 2009","1,103.80","1,117.70","1,123.25","1,102.70","-1.28%" -"Nov 11, 2009","1,118.15","1,105.65","1,118.75","1,105.15","1.14%" -"Nov 10, 2009","1,105.60","1,104.30","1,109.70","1,097.10","0.14%" -"Nov 09, 2009","1,104.05","1,097.41","1,111.25","1,095.80","0.82%" -"Nov 06, 2009","1,095.05","1,089.85","1,101.30","1,086.70","0.38%" -"Nov 05, 2009","1,090.95","1,092.85","1,094.35","1,083.90","-0.15%" -"Nov 04, 2009","1,092.60","1,084.85","1,097.65","1,079.90","0.77%" -"Nov 03, 2009","1,084.25","1,059.85","1,087.85","1,055.40","2.36%" -"Nov 02, 2009","1,059.25","1,044.30","1,063.10","1,040.65","1.37%" -"Oct 30, 2009","1,044.90","1,045.80","1,049.15","1,035.35","-0.06%" -"Oct 29, 2009","1,045.55","1,028.25","1,048.50","1,026.75","1.72%" -"Oct 28, 2009","1,027.85","1,039.50","1,042.60","1,027.35","-1.15%" -"Oct 27, 2009","1,039.80","1,037.90","1,044.50","1,033.25","0.16%" -"Oct 26, 2009","1,038.10","1,054.30","1,060.10","1,037.95","-1.60%" -"Oct 23, 2009","1,054.95","1,059.90","1,067.80","1,050.55","-0.51%" -"Oct 22, 2009","1,060.40","1,057.90","1,061.75","1,051.80","0.10%" -"Oct 21, 2009","1,059.35","1,054.90","1,065.10","1,047.80","0.41%" -"Oct 20, 2009","1,055.00","1,064.50","1,068.10","1,052.00","-0.82%" -"Oct 19, 2009","1,063.70","1,052.65","1,065.50","1,048.50","0.99%" -"Oct 16, 2009","1,053.25","1,050.55","1,057.70","1,043.90","0.23%" -"Oct 15, 2009","1,050.85","1,062.80","1,066.50","1,047.20","-1.14%" -"Oct 14, 2009","1,062.95","1,064.90","1,071.40","1,056.50","-0.13%" -"Oct 13, 2009","1,064.35","1,054.40","1,069.30","1,051.90","0.77%" -"Oct 12, 2009","1,056.25","1,049.00","1,059.75","1,047.90","0.67%" -"Oct 09, 2009","1,049.25","1,056.00","1,056.00","1,044.30","-0.55%" -"Oct 08, 2009","1,055.00","1,044.85","1,062.20","1,043.50","0.99%" -"Oct 07, 2009","1,044.70","1,041.35","1,049.20","1,037.30","0.27%" -"Oct 06, 2009","1,041.85","1,017.00","1,044.45","1,015.74","2.37%" -"Oct 05, 2009","1,017.75","1,001.80","1,018.45","1,001.55","1.54%" -"Oct 02, 2009","1,002.35","998.60","1,008.20","987.20","0.29%" -"Oct 01, 2009","999.50","1,007.20","1,010.40","998.40","-0.81%" -"Sep 30, 2009","1,007.70","992.20","1,009.95","992.20","1.56%" -"Sep 29, 2009","992.20","991.35","996.70","985.90","0.13%" -"Sep 28, 2009","990.95","993.00","997.50","986.60","-0.08%" -"Sep 25, 2009","991.75","993.65","999.30","985.10","-0.30%" -"Sep 24, 2009","994.75","1,007.35","1,019.50","991.20","-1.36%" -"Sep 23, 2009","1,008.45","1,013.85","1,018.35","1,005.90","-0.63%" -"Sep 22, 2009","1,014.80","1,003.60","1,020.50","1,002.90","1.12%" -"Sep 21, 2009","1,003.55","1,005.45","1,007.60","996.50","-0.36%" -"Sep 18, 2009","1,007.15","1,013.50","1,018.55","1,006.90","-0.52%" -"Sep 17, 2009","1,012.45","1,017.25","1,024.85","1,010.60","-0.52%" -"Sep 16, 2009","1,017.70","1,007.10","1,021.50","1,006.90","1.07%" -"Sep 15, 2009","1,006.90","999.35","1,010.50","992.90","0.67%" -"Sep 14, 2009","1,000.15","1,005.35","1,009.70","993.90","-0.57%" -"Sep 11, 2009","1,005.85","996.00","1,012.55","995.40","0.94%" -"Sep 10, 2009","996.50","992.05","998.90","983.10","0.39%" -"Sep 09, 2009","992.65","996.80","1,003.95","987.95","-0.41%" -"Sep 08, 2009","996.70","995.50","1,008.95","994.05","0.14%" -"Sep 07, 2009","995.35","994.40","997.85","992.15","0.10%" -"Sep 04, 2009","994.40","992.30","997.30","986.10","0.28%" -"Sep 03, 2009","991.60","977.55","998.20","975.20","1.40%" -"Sep 02, 2009","977.90","956.65","981.10","952.45","2.15%" -"Sep 01, 2009","957.35","950.55","958.00","947.00","0.65%" -"Aug 31, 2009","951.15","956.15","961.85","945.30","-0.50%" -"Aug 28, 2009","955.95","948.70","962.00","948.70","0.81%" -"Aug 27, 2009","948.25","945.00","951.45","942.10","0.28%" -"Aug 26, 2009","945.60","943.80","950.35","939.80","0.06%" -"Aug 25, 2009","945.05","943.25","955.70","941.65","0.23%" -"Aug 24, 2009","942.90","952.40","957.20","939.80","-1.18%" -"Aug 21, 2009","954.15","940.00","958.65","938.60","1.41%" -"Aug 20, 2009","940.85","943.30","947.10","938.60","-0.13%" -"Aug 19, 2009","942.05","937.75","945.30","932.40","0.35%" -"Aug 18, 2009","938.80","934.15","941.50","934.15","0.48%" -"Aug 17, 2009","934.30","947.50","949.35","931.20","-1.38%" -"Aug 14, 2009","947.35","955.05","960.50","944.40","-0.80%" -"Aug 13, 2009","955.00","948.05","962.05","948.05","0.76%" -"Aug 12, 2009","947.75","946.50","953.40","940.90","0.18%" -"Aug 11, 2009","946.05","946.40","950.95","943.00","-0.01%" -"Aug 10, 2009","946.15","954.75","958.10","943.50","-0.92%" -"Aug 07, 2009","954.90","963.65","965.70","954.20","-0.86%" -"Aug 06, 2009","963.15","963.30","972.25","956.85","0.02%" -"Aug 05, 2009","962.95","967.80","968.75","959.55","-0.50%" -"Aug 04, 2009","967.75","957.50","971.05","951.85","1.18%" -"Aug 03, 2009","956.50","953.30","963.10","952.20","0.18%" -"Jul 31, 2009","954.75","934.60","957.20","932.60","2.19%" -"Jul 30, 2009","934.30","929.95","937.80","929.00","0.46%" -"Jul 29, 2009","930.00","937.90","941.70","926.10","-0.82%" -"Jul 28, 2009","937.65","953.40","957.40","934.70","-1.68%" -"Jul 27, 2009","953.65","951.80","959.70","948.20","0.24%" -"Jul 24, 2009","951.35","947.70","954.90","946.95","0.34%" -"Jul 23, 2009","948.15","952.75","958.10","948.10","-0.34%" -"Jul 22, 2009","951.40","949.00","955.40","945.50","0.24%" -"Jul 21, 2009","949.15","950.00","954.40","945.10","-0.02%" -"Jul 20, 2009","949.35","938.30","955.90","937.65","1.24%" -"Jul 17, 2009","937.70","937.70","940.70","932.60","0.04%" -"Jul 16, 2009","937.35","940.00","941.05","933.40","-0.22%" -"Jul 15, 2009","939.45","925.95","942.95","925.30","1.50%" -"Jul 14, 2009","925.60","921.30","928.25","918.60","0.50%" -"Jul 13, 2009","921.00","912.10","924.10","908.40","0.86%" -"Jul 10, 2009","913.15","912.30","916.10","907.80","0.08%" -"Jul 09, 2009","912.45","909.35","919.30","907.10","0.33%" -"Jul 08, 2009","909.45","923.95","925.90","906.00","-1.61%" -"Jul 07, 2009","924.30","924.60","932.55","922.05","-0.08%" -"Jul 06, 2009","925.00","932.55","933.10","921.10","-0.80%" -"Jul 03, 2009","932.50","928.85","934.90","927.90","0.31%" -"Jul 02, 2009","929.65","940.80","942.05","927.10","-1.18%" -"Jul 01, 2009","940.75","925.80","946.75","925.75","1.50%" -"Jun 30, 2009","926.85","937.60","945.70","923.60","-1.19%" -"Jun 29, 2009","938.05","940.60","943.50","934.40","-0.11%" -"Jun 26, 2009","939.05","938.65","948.70","936.30","-0.01%" -"Jun 25, 2009","939.15","930.90","940.10","929.90","0.76%" -"Jun 24, 2009","932.10","926.10","943.20","923.00","0.64%" -"Jun 23, 2009","926.15","922.70","927.75","913.90","0.35%" -"Jun 22, 2009","922.90","933.95","935.40","918.90","-1.22%" -"Jun 19, 2009","934.30","934.45","939.80","931.45","0.10%" -"Jun 18, 2009","933.35","940.55","943.70","930.60","-0.64%" -"Jun 17, 2009","939.40","934.85","940.95","928.50","0.46%" -"Jun 16, 2009","935.10","928.75","940.25","927.40","0.73%" -"Jun 15, 2009","928.35","939.00","939.30","926.00","-1.12%" -"Jun 12, 2009","938.90","955.30","958.95","937.00","-1.69%" -"Jun 11, 2009","955.00","954.60","962.70","944.10","0.04%" -"Jun 10, 2009","954.65","955.35","966.25","947.60","-0.01%" -"Jun 09, 2009","954.75","951.20","962.60","948.00","0.39%" -"Jun 08, 2009","951.05","955.65","960.45","944.30","-0.55%" -"Jun 05, 2009","956.30","981.25","983.45","953.50","-2.43%" -"Jun 04, 2009","980.10","963.25","982.50","961.70","1.76%" -"Jun 03, 2009","963.15","982.05","990.80","961.35","-1.90%" -"Jun 02, 2009","981.85","975.25","987.40","969.60","0.68%" -"Jun 01, 2009","975.20","979.60","989.50","974.10","-0.49%" -"May 29, 2009","980.00","959.65","981.00","956.50","2.10%" -"May 28, 2009","959.80","948.65","965.95","944.55","1.14%" -"May 27, 2009","949.00","953.25","960.20","942.25","-0.33%" -"May 26, 2009","952.15","958.00","958.95","941.10","-0.69%" -"May 25, 2009","958.80","957.00","960.05","953.10","0.15%" -"May 22, 2009","957.35","955.05","962.30","950.40","0.31%" -"May 21, 2009","954.40","938.50","956.95","936.00","1.74%" -"May 20, 2009","938.10","925.50","941.25","925.40","1.34%" -"May 19, 2009","925.65","918.25","930.15","917.10","0.81%" -"May 18, 2009","918.20","930.60","934.50","916.05","-1.45%" -"May 15, 2009","931.70","926.60","934.65","923.90","0.58%" -"May 14, 2009","926.35","926.40","929.45","920.60","-0.01%" -"May 13, 2009","926.45","923.20","931.40","917.70","0.39%" -"May 12, 2009","922.85","913.25","924.75","912.40","1.01%" -"May 11, 2009","913.60","916.65","918.55","909.00","-0.38%" -"May 08, 2009","917.05","910.80","920.65","905.40","0.77%" -"May 07, 2009","910.05","910.10","926.15","909.20","-0.09%" -"May 06, 2009","910.90","895.80","913.25","895.30","1.63%" -"May 05, 2009","896.30","902.30","916.05","895.70","-0.78%" -"May 04, 2009","903.35","887.30","907.60","885.05","1.81%" -"May 01, 2009","887.30","887.80","890.55","881.05","0.09%" -"Apr 30, 2009","886.50","897.65","900.70","880.80","-1.35%" -"Apr 29, 2009","898.60","892.60","903.60","888.50","0.67%" -"Apr 28, 2009","892.60","907.05","908.25","885.20","-1.51%" -"Apr 27, 2009","906.25","912.70","918.85","905.00","-0.75%" -"Apr 24, 2009","913.10","904.40","914.50","903.25","1.12%" -"Apr 23, 2009","903.00","890.55","909.70","889.75","1.44%" -"Apr 22, 2009","890.15","883.50","894.15","882.30","0.78%" -"Apr 21, 2009","883.25","885.00","895.75","879.70","-0.21%" -"Apr 20, 2009","885.15","869.05","889.20","865.50","1.87%" -"Apr 17, 2009","868.90","875.95","877.15","865.00","-0.76%" -"Apr 16, 2009","875.55","891.50","894.45","872.50","-1.80%" -"Apr 15, 2009","891.60","889.60","899.80","886.55","0.20%" -"Apr 14, 2009","889.85","893.90","899.05","886.30","-0.36%" -"Apr 13, 2009","893.05","881.65","900.35","881.65","1.29%" -"Apr 10, 2009","881.65","879.00","885.90","878.00","0.26%" -"Apr 09, 2009","879.40","881.05","887.05","875.10","-0.13%" -"Apr 08, 2009","880.55","880.85","890.85","878.30","-0.03%" -"Apr 07, 2009","880.85","868.75","884.95","868.65","1.27%" -"Apr 06, 2009","869.80","894.85","896.80","865.30","-2.70%" -"Apr 03, 2009","893.90","904.45","910.70","892.00","-1.13%" -"Apr 02, 2009","904.15","927.30","929.80","894.70","-2.51%" -"Apr 01, 2009","927.40","918.55","933.35","916.70","1.01%" -"Mar 31, 2009","918.15","917.60","925.45","912.35","0.09%" -"Mar 30, 2009","917.30","924.40","932.75","907.90","-0.62%" -"Mar 27, 2009","923.05","935.70","937.85","920.10","-1.18%" -"Mar 26, 2009","934.05","934.25","945.95","932.40","-0.01%" -"Mar 25, 2009","934.15","927.15","941.00","917.10","0.81%" -"Mar 24, 2009","926.65","937.95","944.80","917.65","-1.23%" -"Mar 23, 2009","938.15","950.85","958.00","937.75","-1.54%" -"Mar 20, 2009","952.85","960.15","968.70","947.50","-0.68%" -"Mar 19, 2009","959.40","939.80","962.30","925.80","1.86%" -"Mar 18, 2009","941.90","916.50","947.05","884.90","2.94%" -"Mar 17, 2009","915.00","924.10","924.70","912.20","-0.90%" -"Mar 16, 2009","923.35","928.35","930.25","915.50","-0.52%" -"Mar 13, 2009","928.20","927.05","939.50","919.80","0.06%" -"Mar 12, 2009","927.65","906.95","931.45","905.95","2.20%" -"Mar 11, 2009","907.65","896.65","913.75","892.55","1.21%" -"Mar 10, 2009","896.80","922.20","922.95","891.30","-2.73%" -"Mar 09, 2009","921.95","939.50","942.75","911.40","-1.64%" -"Mar 06, 2009","937.35","932.85","945.40","930.05","0.48%" -"Mar 05, 2009","932.85","907.60","937.15","905.80","2.78%" -"Mar 04, 2009","907.65","916.55","923.80","901.75","-0.90%" -"Mar 03, 2009","915.85","925.90","932.90","904.90","-1.17%" -"Mar 02, 2009","926.65","940.00","959.00","926.55","-1.96%" -"Feb 27, 2009","945.15","945.75","963.10","927.75","-0.04%" -"Feb 26, 2009","945.50","953.15","957.00","931.80","-0.50%" -"Feb 25, 2009","950.25","963.55","978.60","944.55","-1.44%" -"Feb 24, 2009","964.15","992.00","995.80","959.75","-2.93%" -"Feb 23, 2009","993.25","993.50","998.35","976.00","-0.01%" -"Feb 20, 2009","993.30","974.65","1,006.40","970.60","1.89%" -"Feb 19, 2009","974.85","985.40","986.95","968.90","-1.03%" -"Feb 18, 2009","985.00","969.40","985.65","960.80","1.53%" -"Feb 17, 2009","970.15","942.00","974.20","940.35","2.98%" -"Feb 16, 2009","942.05","941.70","944.55","936.45","-0.01%" -"Feb 13, 2009","942.10","946.00","947.65","932.40","-0.61%" -"Feb 12, 2009","947.90","939.20","952.80","935.30","0.93%" -"Feb 11, 2009","939.15","915.45","947.25","911.00","2.39%" -"Feb 10, 2009","917.25","895.95","919.00","891.20","2.43%" -"Feb 09, 2009","895.50","910.65","912.70","891.20","-1.76%" -"Feb 06, 2009","911.55","914.70","922.50","904.25","-0.46%" -"Feb 05, 2009","915.75","905.70","925.00","902.60","1.03%" -"Feb 04, 2009","906.40","901.30","909.70","895.50","0.42%" -"Feb 03, 2009","902.60","904.30","913.10","888.00","0.04%" -"Feb 02, 2009","902.25","927.95","929.20","901.70","-2.75%" -"Jan 30, 2009","927.75","907.90","931.40","901.80","2.16%" -"Jan 29, 2009","908.15","886.40","909.50","868.85","2.42%" -"Jan 28, 2009","886.65","898.65","904.40","880.60","-1.26%" -"Jan 27, 2009","898.00","903.60","907.90","892.50","-0.67%" -"Jan 26, 2009","904.10","898.90","916.30","889.55","0.52%" -"Jan 23, 2009","899.40","856.60","903.50","852.80","4.88%" -"Jan 22, 2009","857.55","855.00","863.20","843.95","0.23%" -"Jan 21, 2009","855.55","855.85","864.75","843.50","-0.15%" -"Jan 20, 2009","856.80","835.60","866.80","823.90","2.38%" -"Jan 19, 2009","836.90","844.00","847.05","832.70","-0.76%" -"Jan 16, 2009","843.35","819.00","843.60","816.85","3.31%" -"Jan 15, 2009","816.35","811.45","821.60","802.65","0.62%" -"Jan 14, 2009","811.35","821.95","829.65","807.40","-1.31%" -"Jan 13, 2009","822.10","820.40","830.80","814.10","0.10%" -"Jan 12, 2009","821.25","854.25","857.10","815.65","-3.77%" -"Jan 09, 2009","853.45","857.05","868.65","844.90","-0.54%" -"Jan 08, 2009","858.10","843.75","865.65","834.50","1.92%" -"Jan 07, 2009","841.95","864.60","867.35","835.80","-2.57%" -"Jan 06, 2009","864.15","859.85","870.70","839.55","0.60%" -"Jan 05, 2009","859.00","878.00","884.55","844.50","-2.00%" -"Jan 02, 2009","876.55","882.80","888.35","868.10","-0.63%" -"Jan 01, 2009","882.15","881.30","882.15","881.30","0.22%" -"Dec 31, 2008","880.20","874.30","884.00","857.25","0.70%" -"Dec 30, 2008","874.05","879.05","884.55","864.50","-0.30%" -"Dec 29, 2008","876.65","868.80","891.05","868.80","0.80%" -"Dec 26, 2008","869.65","842.00","871.60","842.00","2.80%" -"Dec 25, 2008","846.00","846.00","846.00","840.50","-0.18%" -"Dec 24, 2008","847.55","840.60","849.45","835.80","0.96%" -"Dec 23, 2008","839.45","848.45","849.70","830.20","-0.93%" -"Dec 22, 2008","847.30","838.75","852.25","837.55","1.07%" -"Dec 19, 2008","838.35","853.70","854.60","830.60","-1.88%" -"Dec 18, 2008","854.40","868.00","878.85","848.85","-1.37%" -"Dec 17, 2008","866.30","858.20","882.20","847.50","0.94%" -"Dec 16, 2008","858.20","839.25","860.70","830.50","2.16%" -"Dec 15, 2008","840.05","822.05","845.70","822.05","2.20%" -"Dec 12, 2008","821.95","819.85","830.10","808.50","-0.03%" -"Dec 11, 2008","822.20","811.25","835.30","803.10","1.66%" -"Dec 10, 2008","808.75","776.35","814.10","774.65","4.14%" -"Dec 09, 2008","776.60","772.90","781.05","763.30","0.50%" -"Dec 08, 2008","772.70","754.80","782.70","753.65","2.02%" -"Dec 05, 2008","757.40","767.15","773.45","741.90","-1.21%" -"Dec 04, 2008","766.65","773.65","788.60","762.90","-0.97%" -"Dec 03, 2008","774.15","782.85","784.45","764.85","-1.13%" -"Dec 02, 2008","783.00","771.55","786.85","762.30","1.62%" -"Dec 01, 2008","770.55","816.00","819.25","769.00","-5.74%" -"Nov 28, 2008","817.50","816.75","821.60","811.00","0.18%" -"Nov 27, 2008","816.05","813.35","818.00","810.20","0.35%" -"Nov 26, 2008","813.20","821.40","824.00","809.40","-1.14%" -"Nov 25, 2008","822.55","820.95","831.60","803.30","0.18%" -"Nov 24, 2008","821.05","801.95","830.70","786.95","2.63%" -"Nov 21, 2008","800.00","744.60","802.20","743.90","7.15%" -"Nov 20, 2008","746.60","734.45","753.10","733.80","1.73%" -"Nov 19, 2008","733.90","738.35","763.80","727.50","-0.54%" -"Nov 18, 2008","737.85","737.35","746.50","732.00","0.13%" -"Nov 17, 2008","736.90","742.85","749.35","731.00","-0.76%" -"Nov 14, 2008","742.55","736.30","752.75","726.10","0.54%" -"Nov 13, 2008","738.55","713.05","738.75","702.25","3.76%" -"Nov 12, 2008","711.80","732.20","739.70","709.30","-2.76%" -"Nov 11, 2008","732.00","746.80","750.00","727.10","-1.94%" -"Nov 10, 2008","746.50","735.80","768.80","735.80","1.23%" -"Nov 07, 2008","737.45","734.40","745.40","726.25","0.47%" -"Nov 06, 2008","734.00","742.15","761.50","730.35","-0.90%" -"Nov 05, 2008","740.65","763.55","769.50","738.70","-3.23%" -"Nov 04, 2008","765.40","724.00","768.70","722.60","5.88%" -"Nov 03, 2008","722.90","723.85","739.15","722.05","-0.30%" -"Oct 31, 2008","725.05","738.20","742.50","719.40","-1.69%" -"Oct 30, 2008","737.50","757.20","778.30","735.40","-2.49%" -"Oct 29, 2008","756.30","747.45","775.40","738.00","1.41%" -"Oct 28, 2008","745.80","730.65","756.50","725.20","2.01%" -"Oct 27, 2008","731.10","734.85","747.00","707.60","-0.57%" -"Oct 24, 2008","735.30","724.95","743.20","682.80","1.84%" -"Oct 23, 2008","722.00","728.70","736.00","699.45","-1.05%" -"Oct 22, 2008","729.65","776.90","777.30","721.60","-5.44%" -"Oct 21, 2008","771.60","798.00","803.75","765.70","-3.13%" -"Oct 20, 2008","796.50","782.40","809.70","781.80","1.63%" -"Oct 17, 2008","783.70","807.00","817.00","773.30","-2.77%" -"Oct 16, 2008","806.00","848.85","849.90","785.30","-5.06%" -"Oct 15, 2008","849.00","836.20","857.10","831.10","1.46%" -"Oct 14, 2008","836.75","833.35","855.00","831.25","0.47%" -"Oct 13, 2008","832.80","851.40","873.00","823.00","-2.18%" -"Oct 10, 2008","851.40","914.60","935.00","827.50","-6.80%" -"Oct 09, 2008","913.50","907.00","920.00","879.65","0.55%" -"Oct 08, 2008","908.50","889.10","922.00","879.20","2.24%" -"Oct 07, 2008","888.60","858.00","892.60","856.95","3.45%" -"Oct 06, 2008","858.95","833.50","877.00","826.90","2.65%" -"Oct 03, 2008","836.80","837.25","848.40","820.70","-0.02%" -"Oct 02, 2008","837.00","871.25","876.75","831.20","-3.88%" -"Oct 01, 2008","870.75","872.15","894.80","865.60","-0.14%" -"Sep 30, 2008","871.95","904.15","916.00","857.70","-3.78%" -"Sep 29, 2008","906.25","884.00","923.00","869.25","2.99%" -"Sep 26, 2008","879.90","878.10","912.65","867.70","0.31%" -"Sep 25, 2008","877.20","883.10","898.10","864.35","-0.56%" -"Sep 24, 2008","882.10","889.75","902.70","878.50","-1.13%" -"Sep 23, 2008","892.20","900.30","910.30","881.65","-1.06%" -"Sep 22, 2008","901.80","873.25","906.40","863.00","3.28%" -"Sep 19, 2008","873.15","848.75","877.80","825.80","2.45%" -"Sep 18, 2008","852.25","865.50","907.60","846.70","-1.38%" -"Sep 17, 2008","864.20","777.00","867.60","775.55","11.00%" -"Sep 16, 2008","778.55","787.45","790.70","772.55","-1.10%" -"Sep 15, 2008","787.20","766.00","787.25","765.40","2.98%" -"Sep 12, 2008","764.45","748.95","766.75","747.05","2.23%" -"Sep 11, 2008","747.80","751.65","758.40","737.00","-0.62%" -"Sep 10, 2008","752.50","776.00","784.10","750.95","-3.14%" -"Sep 09, 2008","776.90","801.55","805.80","776.75","-3.17%" -"Sep 08, 2008","802.35","806.00","819.00","797.50","-0.18%" -"Sep 05, 2008","803.80","796.20","820.30","791.35","1.04%" -"Sep 04, 2008","795.55","801.75","815.70","794.65","-0.71%" -"Sep 03, 2008","801.25","806.25","809.10","790.05","-0.53%" -"Sep 02, 2008","805.50","816.95","819.75","791.40","-1.54%" -"Sep 01, 2008","818.10","835.50","836.30","816.20","-1.53%" -"Aug 29, 2008","830.80","833.80","839.30","829.90","-0.41%" -"Aug 28, 2008","834.25","826.50","845.00","826.00","0.89%" -"Aug 27, 2008","826.90","824.25","835.40","822.05","0.28%" -"Aug 26, 2008","824.60","822.05","830.50","807.50","0.30%" -"Aug 25, 2008","822.10","825.85","826.70","817.45","-0.12%" -"Aug 22, 2008","823.10","835.70","838.50","821.70","-1.60%" -"Aug 21, 2008","836.45","813.45","840.00","811.60","2.80%" -"Aug 20, 2008","813.65","813.95","818.80","801.20","-0.07%" -"Aug 19, 2008","814.25","799.90","816.25","783.05","1.86%" -"Aug 18, 2008","799.35","793.75","804.65","790.25","1.63%" -"Aug 15, 2008","786.50","806.40","806.50","774.90","-2.49%" -"Aug 14, 2008","806.60","826.40","837.50","805.40","-2.42%" -"Aug 13, 2008","826.60","812.30","830.60","806.30","1.84%" -"Aug 12, 2008","811.65","823.15","827.30","802.90","-1.42%" -"Aug 11, 2008","823.30","856.85","866.50","818.70","-3.86%" -"Aug 08, 2008","856.35","872.45","874.50","851.50","-1.96%" -"Aug 07, 2008","873.45","879.65","885.80","868.40","-0.70%" -"Aug 06, 2008","879.60","874.40","887.00","873.35","0.61%" -"Aug 05, 2008","874.25","895.25","895.90","873.80","-2.28%" -"Aug 04, 2008","894.65","910.45","916.20","894.40","-1.75%" -"Aug 01, 2008","910.55","914.55","917.90","902.80","-0.36%" -"Jul 31, 2008","913.85","908.00","926.20","906.90","0.82%" -"Jul 30, 2008","906.45","918.50","919.65","894.50","-1.24%" -"Jul 29, 2008","917.85","931.05","934.00","914.80","-1.40%" -"Jul 28, 2008","930.90","928.90","933.40","922.95","0.13%" -"Jul 25, 2008","929.70","928.25","935.90","919.40","0.24%" -"Jul 24, 2008","927.50","921.10","931.90","916.80","0.73%" -"Jul 23, 2008","920.75","945.70","949.75","918.15","-2.61%" -"Jul 22, 2008","945.40","965.55","976.35","943.20","-2.16%" -"Jul 21, 2008","966.30","956.25","969.25","955.55","1.15%" -"Jul 18, 2008","955.30","957.30","965.10","950.50","-0.24%" -"Jul 17, 2008","957.60","959.85","979.25","954.20","-0.26%" -"Jul 16, 2008","960.10","977.85","981.75","958.30","-1.79%" -"Jul 15, 2008","977.60","973.40","988.75","966.00","0.50%" -"Jul 14, 2008","972.70","966.05","975.65","954.40","0.83%" -"Jul 11, 2008","964.70","945.55","968.60","942.40","1.85%" -"Jul 10, 2008","947.15","928.85","948.40","926.10","2.00%" -"Jul 09, 2008","928.55","920.35","929.55","916.40","0.93%" -"Jul 08, 2008","920.00","925.75","934.50","913.00","-0.67%" -"Jul 07, 2008","926.25","933.15","933.15","915.30","-0.76%" -"Jul 04, 2008","933.30","933.45","937.00","929.80","-0.06%" -"Jul 03, 2008","933.85","944.60","947.35","927.70","-1.22%" -"Jul 02, 2008","945.35","939.95","947.50","932.50","0.59%" -"Jul 01, 2008","939.85","926.50","946.80","923.15","1.59%" -"Jun 30, 2008","925.10","929.20","936.00","919.00","-0.30%" -"Jun 27, 2008","927.85","916.80","931.10","910.80","1.18%" -"Jun 26, 2008","917.05","886.70","918.00","885.20","3.47%" -"Jun 25, 2008","886.30","890.00","890.75","874.50","-0.40%" -"Jun 24, 2008","889.90","883.80","894.20","882.65","0.66%" -"Jun 23, 2008","884.05","901.95","907.85","877.70","-1.97%" -"Jun 20, 2008","901.85","898.60","908.40","896.75","0.33%" -"Jun 19, 2008","898.85","894.70","908.90","884.05","0.55%" -"Jun 18, 2008","893.95","882.55","894.90","881.25","1.25%" -"Jun 17, 2008","882.90","882.50","889.35","874.80","0.07%" -"Jun 16, 2008","882.30","869.85","895.70","867.50","1.27%" -"Jun 13, 2008","871.20","869.20","874.95","860.10","0.26%" -"Jun 12, 2008","868.90","880.60","883.00","857.80","-1.32%" -"Jun 11, 2008","880.55","868.30","883.70","867.80","1.52%" -"Jun 10, 2008","867.35","892.30","895.65","865.15","-2.86%" -"Jun 09, 2008","892.90","902.85","909.70","891.40","-1.05%" -"Jun 06, 2008","902.35","877.50","902.45","877.40","2.73%" -"Jun 05, 2008","878.35","878.85","880.80","865.45","-0.03%" -"Jun 04, 2008","878.65","881.10","887.50","876.85","-0.31%" -"Jun 03, 2008","881.40","891.10","898.10","876.10","-1.02%" -"Jun 02, 2008","890.50","887.45","897.80","881.80","0.41%" -"May 30, 2008","886.90","878.15","890.60","871.00","1.08%" -"May 29, 2008","877.40","902.75","903.70","874.05","-2.63%" -"May 28, 2008","901.10","905.70","910.40","889.90","-0.52%" -"May 27, 2008","905.80","929.05","931.50","904.50","-2.51%" -"May 26, 2008","929.10","925.40","929.60","923.95","0.42%" -"May 23, 2008","925.20","920.65","929.60","915.55","0.36%" -"May 22, 2008","921.85","932.45","936.30","918.05","-1.13%" -"May 21, 2008","932.35","920.95","932.90","917.40","1.41%" -"May 20, 2008","919.35","905.10","924.40","903.40","1.59%" -"May 19, 2008","904.95","904.00","914.35","901.55","0.29%" -"May 16, 2008","902.30","882.20","905.70","880.50","2.37%" -"May 15, 2008","881.45","864.95","888.50","862.75","1.94%" -"May 14, 2008","864.65","866.25","871.80","860.30","-0.21%" -"May 13, 2008","866.50","882.70","885.65","861.60","-1.86%" -"May 12, 2008","882.90","884.20","890.10","878.45","-0.23%" -"May 09, 2008","884.90","884.30","890.80","871.00","0.18%" -"May 08, 2008","883.30","868.90","886.25","864.25","1.75%" -"May 07, 2008","868.15","876.10","882.05","864.75","-0.90%" -"May 06, 2008","876.05","873.65","883.70","871.70","0.23%" -"May 05, 2008","874.05","858.80","875.05","858.55","2.05%" -"May 02, 2008","856.45","852.25","859.90","846.00","0.45%" -"May 01, 2008","852.65","877.15","882.30","848.10","-2.10%" -"Apr 30, 2008","870.95","870.20","877.10","863.30","-0.01%" -"Apr 29, 2008","871.05","893.30","893.85","869.20","-2.51%" -"Apr 28, 2008","893.50","888.50","896.80","886.75","0.83%" -"Apr 25, 2008","886.15","887.30","897.50","878.60","-0.07%" -"Apr 24, 2008","886.80","903.65","907.30","884.05","-1.92%" -"Apr 23, 2008","904.20","917.50","923.60","898.10","-1.50%" -"Apr 22, 2008","918.00","914.50","926.00","912.50","0.42%" -"Apr 21, 2008","914.20","918.90","928.90","911.80","-0.24%" -"Apr 18, 2008","916.40","939.30","946.80","904.75","-2.44%" -"Apr 17, 2008","939.30","945.20","953.00","937.70","-0.61%" -"Apr 16, 2008","945.10","928.30","949.30","924.40","1.80%" -"Apr 15, 2008","928.40","924.70","936.90","921.65","0.42%" -"Apr 14, 2008","924.50","919.60","931.50","914.50","-0.09%" -"Apr 11, 2008","925.30","929.20","932.30","918.30","-0.38%" -"Apr 10, 2008","928.80","934.00","939.80","922.50","-0.58%" -"Apr 09, 2008","934.20","915.60","935.10","903.20","2.05%" -"Apr 08, 2008","915.40","920.90","925.90","908.30","-0.54%" -"Apr 07, 2008","920.40","912.70","929.50","911.00","0.78%" -"Apr 04, 2008","913.30","904.10","914.80","899.60","1.11%" -"Apr 03, 2008","903.30","902.20","909.10","889.70","-0.07%" -"Apr 02, 2008","903.90","884.30","905.70","882.00","2.31%" -"Apr 01, 2008","883.50","915.65","921.00","873.30","-3.52%" -"Mar 31, 2008","915.70","931.60","941.20","915.30","-1.58%" -"Mar 28, 2008","930.40","947.50","950.90","923.50","-1.84%" -"Mar 27, 2008","947.80","954.30","954.90","940.35","-0.66%" -"Mar 26, 2008","954.10","939.00","954.80","934.90","1.64%" -"Mar 25, 2008","938.70","914.30","939.20","911.90","2.58%" -"Mar 24, 2008","915.10","915.60","926.70","906.40","-0.48%" -"Mar 21, 2008","919.50","913.40","920.30","911.40","1.04%" -"Mar 20, 2008","910.00","938.70","943.40","905.05","-3.59%" -"Mar 19, 2008","943.90","981.20","997.60","939.50","-3.87%" -"Mar 18, 2008","981.90","1,003.90","1,012.70","978.20","-2.07%" -"Mar 17, 2008","1,002.70","1,002.90","1,031.20","998.80","0.96%" -"Mar 14, 2008","993.20","996.00","1,007.50","990.90","-0.21%" -"Mar 13, 2008","995.30","983.70","1,000.30","981.80","1.20%" -"Mar 12, 2008","983.50","973.10","983.50","968.50","1.04%" -"Mar 11, 2008","973.40","973.60","985.70","964.75","0.00%" -"Mar 10, 2008","973.40","973.40","980.80","961.40","0.00%" -"Mar 07, 2008","973.40","978.80","988.40","969.80","-0.48%" -"Mar 06, 2008","978.10","988.60","992.30","965.30","-1.03%" -"Mar 05, 2008","988.30","964.20","992.20","959.85","2.58%" -"Mar 04, 2008","963.40","983.90","988.30","960.80","-2.07%" -"Mar 03, 2008","983.80","973.40","989.70","973.40","1.16%" -"Feb 29, 2008","972.48","956.58","976.27","956.58","0.32%" -"Feb 28, 2008","969.35","957.65","969.35","953.35","1.16%" -"Feb 27, 2008","958.20","948.20","965.10","948.10","0.98%" -"Feb 26, 2008","948.90","940.20","948.90","926.80","0.97%" -"Feb 25, 2008","939.80","946.00","952.30","933.10","-0.60%" -"Feb 22, 2008","945.50","944.90","949.80","935.70","0.06%" -"Feb 21, 2008","944.90","943.90","954.00","937.90","0.00%" -"Feb 20, 2008","944.90","927.90","945.60","913.70","1.87%" -"Feb 19, 2008","927.60","905.60","930.80","905.15","2.34%" -"Feb 18, 2008","906.40","903.20","909.65","900.50","0.41%" -"Feb 15, 2008","902.70","908.70","915.60","898.30","-0.61%" -"Feb 14, 2008","908.20","906.70","914.20","901.90","0.34%" -"Feb 13, 2008","905.10","906.50","910.40","896.50","-0.11%" -"Feb 12, 2008","906.10","924.20","925.00","903.10","-2.02%" -"Feb 11, 2008","924.75","921.35","927.25","916.00","0.70%" -"Feb 08, 2008","918.35","905.35","920.45","905.35","1.01%" -"Feb 07, 2008","909.15","900.10","911.35","896.65","0.93%" -"Feb 06, 2008","900.75","887.10","907.55","886.15","1.53%" -"Feb 05, 2008","887.20","903.85","906.60","885.65","-1.94%" -"Feb 04, 2008","904.75","906.10","912.60","892.00","-0.62%" -"Feb 01, 2008","910.38","924.38","936.88","905.08","-1.65%" -"Jan 31, 2008","925.62","927.62","929.23","919.23","-0.36%" -"Jan 30, 2008","929.00","923.75","933.00","917.20","0.56%" -"Jan 29, 2008","923.85","927.35","933.45","917.10","-0.43%" -"Jan 28, 2008","927.85","915.60","929.55","914.85","1.57%" -"Jan 25, 2008","913.50","913.00","923.90","908.50","0.68%" -"Jan 24, 2008","907.35","891.10","910.85","889.10","2.01%" -"Jan 23, 2008","889.45","890.65","895.95","876.75","-0.13%" -"Jan 22, 2008","890.65","861.60","894.65","849.85","2.80%" -"Jan 21, 2008","866.35","881.60","882.85","858.75","-2.06%" -"Jan 18, 2008","884.55","877.25","888.55","870.45","0.77%" -"Jan 17, 2008","877.75","878.55","890.45","875.85","0.02%" -"Jan 16, 2008","877.55","889.85","899.60","874.55","-1.93%" -"Jan 15, 2008","894.85","903.75","914.15","893.65","-1.14%" -"Jan 14, 2008","905.20","898.00","914.40","892.60","1.05%" -"Jan 11, 2008","895.75","892.65","898.35","887.50","0.30%" -"Jan 10, 2008","893.10","878.50","895.30","866.40","1.74%" -"Jan 09, 2008","877.80","877.70","891.80","872.00","0.01%" -"Jan 08, 2008","877.70","857.90","881.50","856.90","2.31%" -"Jan 07, 2008","857.90","860.80","865.20","855.60","-0.42%" -"Jan 04, 2008","861.50","863.70","868.90","854.60","-0.22%" -"Jan 03, 2008","863.40","857.00","869.45","853.40","0.72%" -"Jan 02, 2008","857.20","837.00","861.50","834.70","2.82%" -"Jan 01, 2008","833.70","833.70","833.80","833.60","0.01%" -"Dec 31, 2007","833.60","839.50","843.60","832.10","-0.64%" -"Dec 28, 2007","839.00","825.90","840.20","824.80","1.72%" -"Dec 27, 2007","824.80","824.40","831.60","821.70","-0.02%" -"Dec 26, 2007","825.00","808.65","826.50","808.20","2.23%" -"Dec 25, 2007","807.00","811.70","812.20","804.15","-0.60%" -"Dec 24, 2007","811.90","811.70","815.20","808.40","0.14%" -"Dec 21, 2007","810.80","796.70","812.60","795.70","1.77%" -"Dec 20, 2007","796.70","802.40","803.40","793.60","-0.69%" -"Dec 19, 2007","802.20","802.90","805.00","797.90","0.00%" -"Dec 18, 2007","802.20","792.90","806.60","790.40","1.33%" -"Dec 17, 2007","791.70","793.80","798.90","785.40","-0.40%" -"Dec 14, 2007","794.90","797.60","803.90","788.00","-0.31%" -"Dec 13, 2007","797.40","813.90","813.90","792.00","-2.02%" -"Dec 12, 2007","813.80","797.80","817.40","797.10","2.04%" -"Dec 11, 2007","797.50","808.60","813.40","797.20","-1.48%" -"Dec 10, 2007","809.50","794.80","812.50","794.30","1.75%" -"Dec 07, 2007","795.60","802.60","805.20","791.40","-0.88%" -"Dec 06, 2007","802.70","794.60","805.75","785.40","0.92%" -"Dec 05, 2007","795.40","802.10","807.10","791.60","-0.97%" -"Dec 04, 2007","803.20","791.80","805.90","787.00","1.48%" -"Dec 03, 2007","791.50","783.10","791.80","777.40","1.10%" -"Nov 30, 2007","782.90","793.10","799.40","779.10","-1.30%" -"Nov 29, 2007","793.20","803.90","808.30","793.00","-1.50%" -"Nov 28, 2007","805.30","812.50","815.70","791.70","-0.76%" -"Nov 27, 2007","811.50","824.40","829.50","808.30","-1.35%" -"Nov 26, 2007","822.60","821.40","837.10","821.40","-0.10%" -"Nov 23, 2007","823.40","804.60","826.10","803.00","2.36%" -"Nov 22, 2007","804.40","800.45","805.80","798.30","0.27%" -"Nov 21, 2007","802.20","804.50","807.40","794.80","-0.19%" -"Nov 20, 2007","803.70","781.90","803.70","773.00","2.81%" -"Nov 19, 2007","781.70","786.50","794.30","775.30","-0.71%" -"Nov 16, 2007","787.30","789.00","797.65","784.00","-0.16%" -"Nov 15, 2007","788.60","811.60","818.30","782.75","-2.86%" -"Nov 14, 2007","811.80","801.00","816.00","800.10","1.40%" -"Nov 13, 2007","800.60","803.50","809.10","791.20","-0.37%" -"Nov 12, 2007","803.60","830.90","831.00","797.90","-3.38%" -"Nov 09, 2007","831.70","832.70","839.30","827.60","0.01%" -"Nov 08, 2007","831.60","830.50","845.70","824.00","-0.07%" -"Nov 07, 2007","832.20","825.10","845.80","822.70","0.97%" -"Nov 06, 2007","824.20","806.50","824.70","806.30","2.19%" -"Nov 05, 2007","806.50","807.40","811.30","801.30","-0.12%" -"Nov 02, 2007","807.50","787.90","808.10","787.40","2.52%" -"Nov 01, 2007","787.62","796.12","799.92","784.73","-1.08%" -"Oct 31, 2007","796.20","781.90","796.90","777.10","1.87%" -"Oct 30, 2007","781.60","791.20","792.40","779.50","-1.24%" -"Oct 29, 2007","791.40","784.80","794.80","784.50","0.76%" -"Oct 26, 2007","785.40","769.20","786.10","768.60","2.09%" -"Oct 25, 2007","769.30","764.10","769.60","762.00","0.71%" -"Oct 24, 2007","763.90","759.60","764.35","754.30","0.55%" -"Oct 23, 2007","759.70","754.80","761.30","753.00","0.70%" -"Oct 22, 2007","754.40","766.70","768.60","745.90","-1.41%" -"Oct 19, 2007","765.20","768.15","770.40","758.50","-0.18%" -"Oct 18, 2007","766.60","755.30","766.60","755.10","1.54%" -"Oct 17, 2007","755.00","760.65","765.00","754.50","-0.68%" -"Oct 16, 2007","760.20","759.00","767.00","754.40","0.12%" -"Oct 15, 2007","759.30","749.30","760.30","747.80","1.29%" -"Oct 12, 2007","749.60","748.30","752.50","745.20","0.24%" -"Oct 11, 2007","747.80","740.90","754.00","740.60","0.92%" -"Oct 10, 2007","741.00","738.20","746.20","737.50","0.41%" -"Oct 09, 2007","738.00","733.20","740.60","727.15","0.64%" -"Oct 08, 2007","733.30","741.65","742.70","731.55","-1.27%" -"Oct 05, 2007","742.70","737.80","744.30","728.10","0.68%" -"Oct 04, 2007","737.70","728.60","738.60","721.10","1.39%" -"Oct 03, 2007","727.60","732.10","736.40","726.50","-0.53%" -"Oct 02, 2007","731.50","747.40","747.50","724.75","-2.10%" -"Oct 01, 2007","747.20","744.20","748.05","741.30","0.42%" -"Sep 28, 2007","744.10","734.20","745.90","733.60","1.31%" -"Sep 27, 2007","734.50","728.00","736.30","727.20","0.88%" -"Sep 26, 2007","728.10","731.50","737.10","726.80","-0.45%" -"Sep 25, 2007","731.40","730.50","733.85","722.70","0.14%" -"Sep 24, 2007","730.40","729.60","736.45","726.70","-0.11%" -"Sep 21, 2007","731.20","734.00","739.40","727.30","-0.30%" -"Sep 20, 2007","733.40","721.60","738.70","721.20","1.62%" -"Sep 19, 2007","721.70","724.10","726.40","720.75","-0.29%" -"Sep 18, 2007","723.80","717.40","724.50","712.00","0.84%" -"Sep 17, 2007","717.80","706.70","720.05","706.40","1.51%" -"Sep 14, 2007","707.10","708.00","717.40","704.20","-0.21%" -"Sep 13, 2007","708.60","711.30","712.50","703.80","-0.46%" -"Sep 12, 2007","711.90","712.20","714.40","705.70","-0.11%" -"Sep 11, 2007","712.70","702.60","714.50","702.30","1.39%" -"Sep 10, 2007","702.90","700.40","707.00","699.30","0.30%" -"Sep 07, 2007","700.80","696.30","707.40","692.20","0.76%" -"Sep 06, 2007","695.50","681.60","698.00","681.05","2.02%" -"Sep 05, 2007","681.70","682.40","683.50","678.50","-0.06%" -"Sep 04, 2007","682.10","672.90","683.80","671.60","1.45%" -"Sep 03, 2007","672.35","673.25","673.75","671.25","-0.10%" -"Aug 31, 2007","673.00","665.00","674.70","664.70","1.19%" -"Aug 30, 2007","665.10","667.70","668.10","663.50","-0.36%" -"Aug 29, 2007","667.50","662.20","669.05","661.80","0.74%" -"Aug 28, 2007","662.60","667.10","668.50","662.20","-0.75%" -"Aug 27, 2007","667.60","668.90","668.90","665.80","-0.12%" -"Aug 24, 2007","668.40","660.35","669.50","657.65","1.29%" -"Aug 23, 2007","659.90","660.80","665.45","658.65","-0.18%" -"Aug 22, 2007","661.10","657.60","662.20","654.90","0.55%" -"Aug 21, 2007","657.50","658.60","660.10","654.50","-0.11%" -"Aug 20, 2007","658.20","656.60","660.60","653.60","0.15%" -"Aug 17, 2007","657.20","650.30","663.80","645.80","0.67%" -"Aug 16, 2007","652.80","667.40","668.20","641.50","-2.22%" -"Aug 15, 2007","667.60","669.50","671.10","662.40","-0.24%" -"Aug 14, 2007","669.20","669.20","671.70","666.15","-0.03%" -"Aug 13, 2007","669.40","672.40","673.10","668.50","-0.51%" -"Aug 10, 2007","672.80","666.40","676.90","658.50","1.69%" -"Aug 09, 2007","661.60","674.80","674.80","659.90","-1.93%" -"Aug 08, 2007","674.60","672.20","677.00","669.90","0.33%" -"Aug 07, 2007","672.40","672.10","673.15","666.60","0.09%" -"Aug 06, 2007","671.80","672.90","676.80","669.10","-0.22%" -"Aug 03, 2007","673.30","665.70","674.60","665.20","1.25%" -"Aug 02, 2007","665.00","667.50","667.65","662.80","-0.34%" -"Aug 01, 2007","667.30","663.40","667.50","659.40","0.57%" -"Jul 31, 2007","663.50","665.20","669.20","663.50","-0.26%" -"Jul 30, 2007","665.20","661.10","665.90","660.20","0.57%" -"Jul 27, 2007","661.40","663.10","667.40","657.30","-0.05%" -"Jul 26, 2007","661.70","675.60","677.00","660.75","-2.01%" -"Jul 25, 2007","675.30","682.20","682.20","670.90","-1.01%" -"Jul 24, 2007","682.20","681.90","687.50","681.30","0.12%" -"Jul 23, 2007","681.40","684.10","685.10","680.55","-0.34%" -"Jul 20, 2007","683.70","677.60","686.40","675.40","0.86%" -"Jul 19, 2007","677.90","673.10","677.90","671.40","0.74%" -"Jul 18, 2007","672.90","664.60","674.30","664.60","1.22%" -"Jul 17, 2007","664.80","665.20","667.45","662.40","-0.03%" -"Jul 16, 2007","665.00","666.40","668.90","664.00","-0.34%" -"Jul 13, 2007","667.30","666.80","668.85","663.70","-0.01%" -"Jul 12, 2007","667.40","660.40","669.45","660.40","0.95%" -"Jul 11, 2007","661.10","663.70","666.30","660.10","-0.36%" -"Jul 10, 2007","663.50","660.40","665.20","659.00","0.50%" -"Jul 09, 2007","660.20","656.40","663.20","653.80","0.66%" -"Jul 06, 2007","655.90","649.50","656.20","645.40","0.94%" -"Jul 05, 2007","649.80","654.10","656.85","646.10","-0.67%" -"Jul 04, 2007","654.20","653.10","655.15","653.10","0.11%" -"Jul 03, 2007","653.50","656.90","658.30","652.20","-0.59%" -"Jul 02, 2007","657.35","651.50","659.55","648.85","1.19%" -"Jun 29, 2007","649.65","648.85","652.95","646.85","0.14%" -"Jun 28, 2007","648.75","642.75","650.40","641.75","0.78%" -"Jun 27, 2007","643.75","643.05","645.35","639.65","0.54%" -"Jun 26, 2007","640.30","652.00","652.00","640.20","-1.70%" -"Jun 25, 2007","651.40","654.20","654.90","649.00","-0.45%" -"Jun 22, 2007","654.35","651.85","656.95","650.95","0.37%" -"Jun 21, 2007","651.95","654.75","657.20","648.25","-0.50%" -"Jun 20, 2007","655.25","661.45","662.10","655.15","-0.92%" -"Jun 19, 2007","661.35","655.95","662.15","653.95","0.76%" -"Jun 18, 2007","656.35","655.65","659.80","655.05","0.09%" -"Jun 15, 2007","655.75","652.35","656.20","650.25","0.58%" -"Jun 14, 2007","651.95","651.35","654.75","646.60","0.17%" -"Jun 13, 2007","650.85","647.95","653.10","643.65","0.56%" -"Jun 12, 2007","647.25","653.55","655.15","646.15","-0.99%" -"Jun 11, 2007","653.75","649.35","655.55","648.95","0.80%" -"Jun 08, 2007","648.55","659.25","661.85","645.15","-1.65%" -"Jun 07, 2007","659.45","670.65","673.15","658.55","-1.70%" -"Jun 06, 2007","670.85","670.35","672.75","665.35","0.10%" -"Jun 05, 2007","670.15","671.75","674.70","669.45","-0.16%" -"Jun 04, 2007","671.25","671.55","674.65","668.75","-0.03%" -"Jun 01, 2007","671.45","662.20","672.70","660.85","1.59%" -"May 31, 2007","660.95","653.20","662.70","653.20","1.12%" -"May 30, 2007","653.65","656.40","659.55","652.35","-0.47%" -"May 29, 2007","656.75","656.20","662.60","654.25","0.17%" -"May 28, 2007","655.65","655.50","658.85","653.85","-0.08%" -"May 25, 2007","656.15","654.45","657.55","653.75","0.21%" -"May 24, 2007","654.75","661.85","663.25","652.05","-1.00%" -"May 23, 2007","661.35","659.85","665.45","657.75","0.35%" -"May 22, 2007","659.05","662.95","665.25","658.05","-0.65%" -"May 21, 2007","663.35","662.75","664.55","657.35","0.26%" -"May 18, 2007","661.65","657.95","663.15","656.25","0.59%" -"May 17, 2007","657.75","662.65","665.25","654.15","-0.66%" -"May 16, 2007","662.15","672.55","673.95","660.15","-1.49%" -"May 15, 2007","672.15","669.75","674.25","665.25","0.33%" -"May 14, 2007","669.95","671.55","675.00","666.25","-0.16%" -"May 11, 2007","671.05","666.35","673.25","664.85","0.69%" -"May 10, 2007","666.45","680.65","681.65","664.75","-2.09%" -"May 09, 2007","680.65","685.25","687.35","676.25","-0.69%" -"May 08, 2007","685.35","689.25","689.45","682.35","-0.45%" -"May 07, 2007","688.45","688.55","691.55","686.95","-0.04%" -"May 04, 2007","688.75","682.55","691.40","680.90","0.94%" -"May 03, 2007","682.35","672.75","682.95","671.95","1.41%" -"May 02, 2007","672.85","673.95","675.25","667.55","-0.07%" -"May 01, 2007","673.35","678.45","680.50","671.75","-0.72%" -"Apr 30, 2007","678.25","681.45","682.15","676.05","-0.40%" -"Apr 27, 2007","680.95","674.65","682.15","670.95","0.89%" -"Apr 26, 2007","674.95","685.55","687.15","671.40","-1.56%" -"Apr 25, 2007","685.65","683.65","686.95","682.05","0.34%" -"Apr 24, 2007","683.35","689.55","691.95","681.15","-0.83%" -"Apr 23, 2007","689.05","693.25","693.85","686.85","-0.33%" -"Apr 20, 2007","691.35","683.85","693.85","682.85","1.27%" -"Apr 19, 2007","682.65","689.65","691.75","678.95","-1.00%" -"Apr 18, 2007","689.55","686.65","690.95","685.95","0.25%" -"Apr 17, 2007","687.85","690.25","691.05","686.05","-0.39%" -"Apr 16, 2007","690.55","686.25","691.25","683.45","0.72%" -"Apr 13, 2007","685.60","676.50","686.30","675.90","1.42%" -"Apr 12, 2007","676.00","677.50","680.30","671.60","-0.19%" -"Apr 11, 2007","677.30","677.80","681.10","674.50","0.00%" -"Apr 10, 2007","677.30","671.50","681.80","671.10","0.98%" -"Apr 09, 2007","670.75","674.00","678.05","669.50","-0.56%" -"Apr 06, 2007","674.50","674.00","674.70","673.25","0.01%" -"Apr 05, 2007","674.45","674.45","675.65","671.65","-0.01%" -"Apr 04, 2007","674.50","665.10","676.30","663.60","1.58%" -"Apr 03, 2007","664.00","664.80","668.00","662.30","0.02%" -"Apr 02, 2007","663.90","665.70","666.30","656.70","0.05%" -"Mar 30, 2007","663.60","661.80","668.40","660.90","0.35%" -"Mar 29, 2007","661.30","666.70","666.70","655.30","-0.65%" -"Mar 28, 2007","665.60","664.90","670.00","663.80","0.23%" -"Mar 27, 2007","664.10","664.10","666.10","661.80","0.05%" -"Mar 26, 2007","663.80","657.75","665.60","657.30","1.02%" -"Mar 23, 2007","657.10","663.90","664.70","655.50","-1.01%" -"Mar 22, 2007","663.80","664.10","667.10","662.30","-0.06%" -"Mar 21, 2007","664.20","658.50","664.30","657.20","0.90%" -"Mar 20, 2007","658.30","654.50","661.10","652.90","0.70%" -"Mar 19, 2007","653.70","653.20","656.75","652.10","0.12%" -"Mar 16, 2007","652.90","646.90","655.60","646.20","0.93%" -"Mar 15, 2007","646.90","644.00","650.25","643.50","0.43%" -"Mar 14, 2007","644.10","643.30","646.20","637.00","0.09%" -"Mar 13, 2007","643.50","650.50","652.20","643.40","-1.18%" -"Mar 12, 2007","651.20","649.25","654.25","646.10","0.14%" -"Mar 09, 2007","650.27","651.58","658.38","649.48","-0.16%" -"Mar 08, 2007","651.30","649.50","656.20","647.60","0.83%" -"Mar 07, 2007","645.95","646.25","650.85","642.85","-0.21%" -"Mar 06, 2007","647.30","636.30","648.00","632.80","1.81%" -"Mar 05, 2007","635.80","643.80","645.20","633.50","-1.11%" -"Mar 02, 2007","642.95","664.85","665.85","640.15","-3.25%" -"Mar 01, 2007","664.55","669.55","677.55","661.55","-0.81%" -"Feb 28, 2007","669.95","679.35","679.35","660.35","-1.48%" -"Feb 27, 2007","680.00","687.10","689.70","675.30","-1.07%" -"Feb 26, 2007","687.35","681.65","689.35","681.65","0.66%" -"Feb 23, 2007","682.85","677.55","688.55","673.05","0.75%" -"Feb 22, 2007","677.75","678.10","681.25","676.05","-0.22%" -"Feb 21, 2007","679.25","657.45","682.45","657.25","3.11%" -"Feb 20, 2007","658.75","670.85","672.15","655.75","-1.91%" -"Feb 19, 2007","671.55","669.35","673.55","667.85","0.37%" -"Feb 16, 2007","669.05","670.05","670.05","662.90","-0.04%" -"Feb 15, 2007","669.35","668.75","670.85","662.55","0.03%" -"Feb 14, 2007","669.15","664.35","672.20","663.75","0.72%" -"Feb 13, 2007","664.35","660.80","668.60","660.80","0.35%" -"Feb 12, 2007","662.05","667.95","668.55","660.00","-0.69%" -"Feb 09, 2007","666.65","660.55","668.15","657.15","0.89%" -"Feb 08, 2007","660.75","651.65","660.95","648.05","1.40%" -"Feb 07, 2007","651.65","653.55","656.85","651.55","-0.32%" -"Feb 06, 2007","653.75","648.35","658.75","648.25","0.80%" -"Feb 05, 2007","648.55","648.35","652.25","646.45","0.05%" -"Feb 02, 2007","648.25","657.15","659.85","643.15","-1.44%" -"Feb 01, 2007","657.70","653.00","662.00","652.20","0.69%" -"Jan 31, 2007","653.20","647.20","655.20","642.60","0.90%" -"Jan 30, 2007","647.40","643.80","647.50","641.30","0.67%" -"Jan 29, 2007","643.10","646.30","648.20","641.20","-0.54%" -"Jan 26, 2007","646.60","646.20","648.40","641.10","0.08%" -"Jan 25, 2007","646.10","648.60","654.50","645.70","-0.37%" -"Jan 24, 2007","648.50","646.70","649.10","639.00","0.29%" -"Jan 23, 2007","646.60","633.25","648.00","633.10","2.16%" -"Jan 22, 2007","632.90","635.75","640.10","632.70","-0.41%" -"Jan 19, 2007","635.50","627.00","636.50","626.90","1.19%" -"Jan 18, 2007","628.00","631.80","636.90","627.00","-0.62%" -"Jan 17, 2007","631.90","625.00","634.30","620.70","1.04%" -"Jan 16, 2007","625.40","626.50","628.20","622.90","-0.21%" -"Jan 15, 2007","626.70","626.20","628.30","624.50","-0.03%" -"Jan 12, 2007","626.90","611.75","627.70","610.10","2.45%" -"Jan 11, 2007","611.90","611.60","616.25","609.20","0.03%" -"Jan 10, 2007","611.70","613.60","614.50","606.20","-0.29%" -"Jan 09, 2007","613.50","609.80","616.20","606.50","0.59%" -"Jan 08, 2007","609.90","608.75","610.10","604.40","0.41%" -"Jan 05, 2007","607.40","622.00","626.50","602.20","-2.35%" -"Jan 04, 2007","622.00","627.50","630.70","622.00","-0.91%" -"Jan 03, 2007","627.70","640.50","645.40","625.30","-2.00%" -"Jan 02, 2007","640.50","637.30","641.30","636.30","0.58%" -"Dec 29, 2006","636.80","634.80","636.80","632.30","0.28%" -"Dec 28, 2006","635.00","627.30","635.70","626.75","1.23%" -"Dec 27, 2006","627.30","624.80","629.60","624.20","0.38%" -"Dec 26, 2006","624.90","622.60","630.00","622.50","0.67%" -"Dec 25, 2006","620.75","620.75","621.25","620.25","-0.04%" -"Dec 22, 2006","621.00","618.60","621.70","618.25","0.40%" -"Dec 21, 2006","618.50","620.50","622.75","618.20","-0.35%" -"Dec 20, 2006","620.65","622.95","624.75","619.35","-0.34%" -"Dec 19, 2006","622.75","616.35","622.95","615.35","1.10%" -"Dec 18, 2006","615.95","615.65","618.75","612.05","0.11%" -"Dec 15, 2006","615.25","625.65","629.65","614.95","-1.73%" -"Dec 14, 2006","626.05","628.75","629.55","625.55","-0.49%" -"Dec 13, 2006","629.15","630.15","630.85","623.75","-0.14%" -"Dec 12, 2006","630.05","630.35","631.50","627.05","-0.06%" -"Dec 11, 2006","630.45","625.15","631.05","623.35","0.85%" -"Dec 08, 2006","625.15","634.15","638.55","625.15","-1.17%" -"Dec 07, 2006","632.55","631.25","632.85","625.65","0.16%" -"Dec 06, 2006","631.55","643.65","643.65","629.95","-1.93%" -"Dec 05, 2006","643.95","646.45","649.25","638.95","-0.30%" -"Dec 04, 2006","645.90","645.25","648.20","640.90","0.02%" -"Dec 01, 2006","645.80","648.00","650.00","643.90","-0.39%" -"Nov 30, 2006","648.30","636.50","649.00","636.50","1.84%" -"Nov 29, 2006","636.60","639.70","640.90","635.00","-0.53%" -"Nov 28, 2006","640.00","640.80","642.20","632.70","-0.20%" -"Nov 27, 2006","641.30","639.00","642.25","637.20","0.49%" -"Nov 24, 2006","638.20","631.00","640.30","631.00","1.10%" -"Nov 23, 2006","631.25","630.30","631.80","629.00","0.17%" -"Nov 22, 2006","630.20","627.60","634.90","626.40","0.51%" -"Nov 21, 2006","627.00","623.00","629.60","622.25","0.69%" -"Nov 20, 2006","622.70","621.50","627.00","620.90","0.11%" -"Nov 17, 2006","622.00","618.90","622.70","614.80","0.53%" -"Nov 16, 2006","618.70","623.00","628.60","618.20","-0.63%" -"Nov 15, 2006","622.60","621.00","625.50","615.80","0.27%" -"Nov 14, 2006","620.90","625.60","629.40","619.50","-0.83%" -"Nov 13, 2006","626.10","629.10","632.90","620.80","-0.41%" -"Nov 10, 2006","628.70","633.40","637.00","626.50","-0.79%" -"Nov 09, 2006","633.70","615.90","636.00","615.40","2.91%" -"Nov 08, 2006","615.77","625.27","626.98","613.27","-1.46%" -"Nov 07, 2006","624.90","623.10","629.40","622.20","0.29%" -"Nov 06, 2006","623.10","626.50","629.90","622.90","-0.78%" -"Nov 03, 2006","628.00","624.00","629.00","617.50","0.71%" -"Nov 02, 2006","623.60","617.50","625.90","614.50","0.89%" -"Nov 01, 2006","618.10","606.40","619.20","605.70","1.90%" -"Oct 31, 2006","606.60","604.50","607.80","598.50","0.35%" -"Oct 30, 2006","604.50","599.00","611.00","598.70","0.74%" -"Oct 27, 2006","600.05","596.95","600.05","592.15","0.59%" -"Oct 26, 2006","596.55","591.75","599.25","590.45","0.83%" -"Oct 25, 2006","591.65","585.25","591.65","580.35","1.25%" -"Oct 24, 2006","584.35","581.75","584.45","573.85","0.40%" -"Oct 23, 2006","582.05","590.75","593.25","579.85","-1.66%" -"Oct 20, 2006","591.90","600.30","602.70","591.80","-1.23%" -"Oct 19, 2006","599.30","589.70","600.80","586.70","1.59%" -"Oct 18, 2006","589.90","590.10","595.50","587.40","-0.08%" -"Oct 17, 2006","590.40","597.25","598.00","585.90","-0.94%" -"Oct 16, 2006","596.00","591.00","596.30","590.25","1.02%" -"Oct 13, 2006","590.00","578.50","590.80","577.40","1.97%" -"Oct 12, 2006","578.60","573.00","579.00","571.20","0.92%" -"Oct 11, 2006","573.30","573.20","579.30","570.50","0.05%" -"Oct 10, 2006","573.00","577.30","581.60","569.30","-0.64%" -"Oct 09, 2006","576.70","575.50","581.25","572.00","0.51%" -"Oct 06, 2006","573.80","573.40","573.80","560.40","-0.03%" -"Oct 05, 2006","574.00","567.50","574.75","562.50","1.31%" -"Oct 04, 2006","566.60","574.50","581.00","559.90","-1.41%" -"Oct 03, 2006","574.70","596.00","598.25","574.20","-3.44%" -"Oct 02, 2006","595.20","598.50","604.20","595.20","-0.52%" -"Sep 29, 2006","598.30","601.25","604.00","595.00","-0.76%" -"Sep 28, 2006","602.90","602.60","607.00","600.90","0.42%" -"Sep 27, 2006","600.40","592.10","600.40","590.00","1.47%" -"Sep 26, 2006","591.70","587.00","594.25","586.30","0.85%" -"Sep 25, 2006","586.70","589.25","591.10","582.50","-0.27%" -"Sep 22, 2006","588.30","585.50","593.00","584.50","0.68%" -"Sep 21, 2006","584.30","576.70","584.30","574.75","1.34%" -"Sep 20, 2006","576.60","573.00","586.80","572.80","0.17%" -"Sep 19, 2006","575.65","588.05","589.25","575.65","-2.24%" -"Sep 18, 2006","588.85","581.35","589.25","578.55","1.55%" -"Sep 15, 2006","579.85","576.85","581.85","571.95","0.54%" -"Sep 14, 2006","576.75","589.85","595.75","576.75","-2.24%" -"Sep 13, 2006","589.95","587.95","593.35","579.35","0.37%" -"Sep 12, 2006","587.75","590.75","599.75","584.65","-0.68%" -"Sep 11, 2006","591.75","610.15","611.15","583.35","-3.12%" -"Sep 08, 2006","610.80","617.20","619.75","606.70","-0.96%" -"Sep 07, 2006","616.70","633.50","636.50","615.30","-2.65%" -"Sep 06, 2006","633.50","638.50","640.75","633.10","-0.80%" -"Sep 05, 2006","638.60","627.30","640.50","626.50","1.93%" -"Sep 04, 2006","626.50","625.05","628.00","625.05","0.16%" -"Sep 01, 2006","625.50","625.30","628.10","620.05","-0.22%" -"Aug 31, 2006","626.90","619.10","627.60","618.10","1.15%" -"Aug 30, 2006","619.75","614.75","621.55","612.85","1.14%" -"Aug 29, 2006","612.75","614.35","618.25","607.55","-0.21%" -"Aug 28, 2006","614.05","622.35","624.25","613.25","-1.48%" -"Aug 25, 2006","623.25","620.25","624.65","618.55","0.23%" -"Aug 24, 2006","621.85","621.75","626.70","619.25","-0.08%" -"Aug 23, 2006","622.35","624.05","631.55","621.75","-0.27%" -"Aug 22, 2006","624.05","628.15","629.25","620.85","-0.60%" -"Aug 21, 2006","627.80","614.00","628.50","613.80","2.08%" -"Aug 18, 2006","615.00","613.80","619.15","607.40","0.08%" -"Aug 17, 2006","614.50","628.70","632.10","613.70","-2.27%" -"Aug 16, 2006","628.80","624.80","632.80","624.00","0.61%" -"Aug 15, 2006","625.00","626.40","628.70","621.00","-0.67%" -"Aug 14, 2006","629.20","633.40","633.40","623.90","-0.55%" -"Aug 11, 2006","632.70","637.50","645.55","626.50","-0.39%" -"Aug 10, 2006","635.17","650.48","654.12","634.27","-2.38%" -"Aug 09, 2006","650.65","644.25","655.30","636.50","1.07%" -"Aug 08, 2006","643.75","647.75","650.00","641.25","-0.65%" -"Aug 07, 2006","647.98","644.17","652.17","644.17","0.24%" -"Aug 04, 2006","646.45","645.35","654.85","643.75","0.22%" -"Aug 03, 2006","645.05","651.85","653.50","639.35","-0.91%" -"Aug 02, 2006","650.95","647.25","656.20","645.75","0.58%" -"Aug 01, 2006","647.20","636.00","647.60","630.50","1.99%" -"Jul 31, 2006","634.58","636.38","638.98","629.27","-0.21%" -"Jul 28, 2006","635.90","634.50","637.75","626.10","0.32%" -"Jul 27, 2006","633.88","624.12","640.88","624.12","1.88%" -"Jul 26, 2006","622.17","618.88","623.27","613.27","0.44%" -"Jul 25, 2006","619.45","615.25","624.00","610.15","1.14%" -"Jul 24, 2006","612.48","620.88","621.12","601.98","-1.33%" -"Jul 21, 2006","620.75","629.65","637.15","616.25","-1.34%" -"Jul 20, 2006","629.15","643.60","645.10","629.05","-2.01%" -"Jul 19, 2006","642.05","630.85","646.75","618.30","1.72%" -"Jul 18, 2006","631.20","642.90","654.50","628.10","-1.86%" -"Jul 17, 2006","643.15","668.75","676.75","642.85","-3.31%" -"Jul 14, 2006","665.15","663.45","668.50","659.55","0.77%" -"Jul 13, 2006","660.05","650.85","661.00","644.75","1.35%" -"Jul 12, 2006","651.25","641.05","656.05","639.75","1.54%" -"Jul 11, 2006","641.35","624.15","643.75","621.75","2.77%" -"Jul 10, 2006","624.05","630.25","632.75","620.75","-1.03%" -"Jul 07, 2006","630.55","633.65","637.75","627.75","-0.54%" -"Jul 06, 2006","633.95","628.85","635.50","622.75","0.88%" -"Jul 05, 2006","628.45","622.35","630.85","617.85","1.04%" -"Jul 04, 2006","622.00","624.00","624.00","617.00","-0.40%" -"Jul 03, 2006","624.50","618.00","625.55","617.00","1.86%" -"Jun 30, 2006","613.10","597.40","615.90","597.35","2.53%" -"Jun 29, 2006","598.00","580.40","598.00","579.40","3.07%" -"Jun 28, 2006","580.20","579.50","586.80","576.90","-0.29%" -"Jun 27, 2006","581.90","585.30","596.10","581.90","-0.61%" -"Jun 26, 2006","585.45","584.90","587.50","577.50","0.36%" -"Jun 23, 2006","583.35","580.85","586.45","571.85","0.46%" -"Jun 22, 2006","580.65","587.35","595.15","580.35","-1.06%" -"Jun 21, 2006","586.85","575.10","590.55","570.55","1.80%" -"Jun 20, 2006","576.50","565.50","576.70","561.00","1.29%" -"Jun 19, 2006","569.15","580.35","580.45","566.05","-2.01%" -"Jun 16, 2006","580.85","570.35","585.35","567.35","1.90%" -"Jun 15, 2006","570.00","560.55","576.80","554.25","1.90%" -"Jun 14, 2006","559.35","564.35","571.45","543.35","-0.69%" -"Jun 13, 2006","563.25","604.75","605.05","562.45","-7.03%" -"Jun 12, 2006","605.85","603.85","611.75","602.85","-0.26%" -"Jun 09, 2006","607.45","613.35","617.45","601.00","-0.77%" -"Jun 08, 2006","612.15","626.95","627.45","607.85","-2.36%" -"Jun 07, 2006","626.95","630.35","630.55","616.60","-0.51%" -"Jun 06, 2006","630.15","635.35","639.15","625.35","-1.13%" -"Jun 05, 2006","637.35","638.65","645.35","637.05","-0.13%" -"Jun 02, 2006","638.20","629.30","639.00","618.90","1.37%" -"Jun 01, 2006","629.60","643.30","645.40","621.30","-2.19%" -"May 31, 2006","643.70","653.10","659.70","638.90","-1.39%" -"May 30, 2006","652.80","651.80","665.00","648.60","0.35%" -"May 29, 2006","650.50","653.15","654.10","646.40","-0.23%" -"May 26, 2006","652.00","650.10","655.50","640.40","0.18%" -"May 25, 2006","650.80","642.60","651.30","639.00","1.39%" -"May 24, 2006","641.90","669.40","670.90","637.80","-4.41%" -"May 23, 2006","671.50","656.50","674.00","650.90","2.33%" -"May 22, 2006","656.20","656.60","661.65","636.60","-0.21%" -"May 19, 2006","657.60","683.90","688.90","651.40","-3.62%" -"May 18, 2006","682.30","686.90","694.50","678.80","-1.10%" -"May 17, 2006","689.90","688.90","716.40","685.70","0.04%" -"May 16, 2006","689.60","679.00","692.50","674.50","1.25%" -"May 15, 2006","681.10","714.20","721.00","678.10","-4.71%" -"May 12, 2006","714.80","714.20","730.50","708.30","-0.63%" -"May 11, 2006","719.30","709.10","726.50","704.75","1.67%" -"May 10, 2006","707.50","700.70","707.50","693.80","0.96%" -"May 09, 2006","700.80","679.00","701.00","677.75","3.24%" -"May 08, 2006","678.80","685.20","685.20","670.50","-0.57%" -"May 05, 2006","682.70","678.50","684.60","675.30","0.78%" -"May 04, 2006","677.40","667.90","677.90","660.90","1.48%" -"May 03, 2006","667.50","668.00","676.80","660.50","-0.01%" -"May 02, 2006","667.60","654.50","667.70","653.50","1.44%" -"May 01, 2006","658.10","654.60","661.60","652.40","0.55%" -"Apr 28, 2006","654.50","634.00","655.80","633.90","3.23%" -"Apr 27, 2006","634.00","639.40","643.50","627.70","-0.78%" -"Apr 26, 2006","639.00","630.70","640.90","628.60","1.38%" -"Apr 25, 2006","630.30","621.20","635.10","619.00","1.45%" -"Apr 24, 2006","621.30","639.50","639.50","619.20","-2.00%" -"Apr 21, 2006","634.00","610.65","634.40","610.60","3.04%" -"Apr 20, 2006","615.30","639.70","646.15","608.20","-3.84%" -"Apr 19, 2006","639.90","621.80","640.30","621.40","2.94%" -"Apr 18, 2006","621.60","614.20","622.10","612.50","1.24%" -"Apr 17, 2006","614.00","600.40","615.80","600.40","2.37%" -"Apr 14, 2006","599.80","596.75","599.80","595.75","0.55%" -"Apr 13, 2006","596.50","598.50","598.80","590.90","-0.31%" -"Apr 12, 2006","598.38","593.17","600.38","593.17","0.82%" -"Apr 11, 2006","593.50","600.10","604.40","593.10","-1.08%" -"Apr 10, 2006","600.00","589.15","600.30","588.30","1.96%" -"Apr 07, 2006","588.45","596.15","598.45","585.25","-1.14%" -"Apr 06, 2006","595.25","589.15","596.95","587.20","1.09%" -"Apr 05, 2006","588.85","585.95","589.85","582.35","0.41%" -"Apr 04, 2006","586.45","588.25","590.45","584.85","-0.39%" -"Apr 03, 2006","588.75","582.95","591.95","582.25","0.87%" -"Mar 31, 2006","583.65","588.75","589.15","579.05","-0.85%" -"Mar 30, 2006","588.65","573.45","589.15","571.45","2.65%" -"Mar 29, 2006","573.45","564.75","574.05","560.45","1.59%" -"Mar 28, 2006","564.50","567.00","569.30","563.20","-0.43%" -"Mar 27, 2006","566.95","559.95","568.75","558.65","1.16%" -"Mar 24, 2006","560.45","550.15","561.15","548.95","1.87%" -"Mar 23, 2006","550.15","550.85","551.45","545.05","-0.07%" -"Mar 22, 2006","550.55","552.05","553.70","547.15","-0.24%" -"Mar 21, 2006","551.85","554.75","555.45","547.35","-0.47%" -"Mar 20, 2006","554.45","554.55","556.65","550.15","0.11%" -"Mar 17, 2006","553.85","555.45","557.95","552.15","-0.25%" -"Mar 16, 2006","555.25","553.05","557.05","547.55","0.23%" -"Mar 15, 2006","553.95","551.20","557.35","550.45","0.36%" -"Mar 14, 2006","551.95","546.05","552.45","542.75","1.06%" -"Mar 13, 2006","546.15","541.20","546.95","540.95","1.07%" -"Mar 10, 2006","540.35","545.45","547.30","534.05","-1.04%" -"Mar 09, 2006","546.05","543.70","550.55","540.30","0.40%" -"Mar 08, 2006","543.85","552.45","554.20","538.45","-1.65%" -"Mar 07, 2006","552.95","555.15","559.20","548.75","-0.47%" -"Mar 06, 2006","555.55","565.95","568.60","552.55","-1.68%" -"Mar 03, 2006","565.05","569.45","570.95","564.65","-0.65%" -"Mar 02, 2006","568.75","562.45","568.75","562.20","0.87%" -"Mar 01, 2006","563.85","561.15","566.95","560.60","0.37%" -"Feb 28, 2006","561.75","553.70","561.95","553.20","1.19%" -"Feb 27, 2006","555.15","558.35","559.10","552.55","-0.68%" -"Feb 24, 2006","558.95","547.45","559.95","547.45","1.74%" -"Feb 23, 2006","549.38","554.62","554.73","548.27","-0.90%" -"Feb 22, 2006","554.35","554.65","555.45","547.45","0.09%" -"Feb 21, 2006","553.85","555.60","556.35","551.35","-0.40%" -"Feb 20, 2006","556.05","552.20","557.05","551.95","0.71%" -"Feb 17, 2006","552.15","546.45","554.45","544.45","1.08%" -"Feb 16, 2006","546.25","538.45","546.45","535.45","1.17%" -"Feb 15, 2006","539.95","547.95","548.20","535.95","-1.40%" -"Feb 14, 2006","547.62","538.38","547.62","534.88","1.59%" -"Feb 13, 2006","539.05","550.35","551.95","539.05","-2.16%" -"Feb 10, 2006","550.95","564.25","568.95","547.05","-2.31%" -"Feb 09, 2006","563.95","551.35","566.95","549.65","2.38%" -"Feb 08, 2006","550.85","549.05","553.25","545.35","0.36%" -"Feb 07, 2006","548.85","569.95","571.25","548.15","-3.69%" -"Feb 06, 2006","569.85","569.20","573.95","568.70","0.39%" -"Feb 03, 2006","567.65","572.25","574.15","565.05","-0.84%" -"Feb 02, 2006","572.45","569.45","575.05","567.65","0.58%" -"Feb 01, 2006","569.15","568.95","571.85","563.75","0.04%" -"Jan 31, 2006","568.95","568.25","572.65","566.05","-0.04%" -"Jan 30, 2006","569.15","558.45","569.35","558.35","1.72%" -"Jan 27, 2006","559.55","559.70","564.35","555.95","-0.11%" -"Jan 26, 2006","560.15","563.55","563.85","554.85","-0.59%" -"Jan 25, 2006","563.45","558.45","566.65","556.85","0.85%" -"Jan 24, 2006","558.70","559.50","560.15","552.65","-0.09%" -"Jan 23, 2006","559.20","553.40","560.50","549.40","0.98%" -"Jan 20, 2006","553.80","557.90","568.00","553.40","-0.75%" -"Jan 19, 2006","558.00","543.15","558.00","558.00","2.57%" -"Jan 18, 2006","544.00","554.60","544.00","544.00","-1.89%" -"Jan 17, 2006","554.50","561.40","554.50","554.50","-1.37%" -"Jan 16, 2006","562.20","556.90","562.20","562.20","0.96%" -"Jan 13, 2006","556.88","546.38","556.88","556.88","1.58%" -"Jan 12, 2006","548.20","549.40","548.20","548.20","-0.15%" -"Jan 11, 2006","549.00","541.90","549.00","549.00","1.19%" -"Jan 10, 2006","542.55","549.10","542.55","542.55","-1.20%" -"Jan 09, 2006","549.12","539.38","549.12","549.12","1.75%" -"Jan 06, 2006","539.65","525.35","539.65","539.65","2.78%" -"Jan 05, 2006","525.05","534.60","525.05","525.05","-1.78%" -"Jan 04, 2006","534.55","534.60","534.55","534.55","0.18%" -"Jan 03, 2006","533.60","517.15","533.60","533.60","3.09%" -"Dec 30, 2005","517.60","515.40","517.60","517.60","0.30%" -"Dec 29, 2005","516.05","516.75","516.05","516.05","0.04%" -"Dec 28, 2005","515.85","507.85","515.85","515.85","1.56%" -"Dec 27, 2005","507.95","504.85","507.95","507.95","0.58%" -"Dec 26, 2005","505.00","504.50","505.00","505.00","0.40%" -"Dec 23, 2005","503.00","504.20","503.00","503.00","-0.16%" -"Dec 22, 2005","503.80","495.40","503.80","503.80","1.78%" -"Dec 21, 2005","495.00","492.70","495.00","495.00","0.47%" -"Dec 20, 2005","492.70","504.00","492.70","492.70","-2.22%" -"Dec 19, 2005","503.90","504.90","503.90","503.90","0.12%" -"Dec 16, 2005","503.30","502.90","503.30","503.30","0.04%" -"Dec 15, 2005","503.10","504.90","503.10","503.10","-0.52%" -"Dec 14, 2005","505.75","518.85","505.75","505.75","-2.53%" -"Dec 13, 2005","518.88","525.88","518.88","518.88","-1.78%" -"Dec 12, 2005","528.30","527.40","528.30","528.30","0.43%" -"Dec 09, 2005","526.05","520.85","526.05","526.05","0.97%" -"Dec 08, 2005","521.00","515.20","521.00","521.00","1.13%" -"Dec 07, 2005","515.20","511.20","515.20","515.20","0.74%" -"Dec 06, 2005","511.40","509.90","511.40","511.40","0.40%" -"Dec 05, 2005","509.38","504.38","509.38","509.38","1.19%" -"Dec 02, 2005","503.40","504.15","503.40","503.40","0.00%" -"Dec 01, 2005","503.38","493.88","503.38","503.38","1.93%" -"Nov 30, 2005","493.85","499.35","493.85","493.85","-1.25%" -"Nov 29, 2005","500.10","498.65","500.10","500.10","0.30%" -"Nov 28, 2005","498.60","497.15","498.60","498.60","0.51%" -"Nov 25, 2005","496.07","493.62","496.07","496.07","0.55%" -"Nov 24, 2005","493.38","493.62","493.38","493.38","0.26%" -"Nov 23, 2005","492.10","493.90","492.10","492.10","-0.46%" -"Nov 22, 2005","494.38","491.62","494.38","494.38","0.66%" -"Nov 21, 2005","491.15","485.10","491.15","491.15","1.10%" -"Nov 18, 2005","485.80","485.65","485.80","485.80","0.18%" -"Nov 17, 2005","484.95","479.10","484.95","484.95","1.16%" -"Nov 16, 2005","479.38","468.68","479.38","479.38","2.38%" -"Nov 15, 2005","468.25","469.35","468.25","468.25","0.05%" -"Nov 14, 2005","468.00","469.40","468.00","468.00","-0.15%" -"Nov 11, 2005","468.70","466.90","468.70","468.70","0.34%" -"Nov 10, 2005","467.10","466.90","467.10","467.10","0.17%" -"Nov 09, 2005","466.30","460.60","466.30","466.30","1.02%" -"Nov 08, 2005","461.60","459.45","461.60","461.60","0.46%" -"Nov 07, 2005","459.50","457.00","459.50","459.50","0.64%" -"Nov 04, 2005","456.60","461.40","456.60","456.60","-0.89%" -"Nov 03, 2005","460.70","463.40","460.70","460.70","-0.46%" -"Nov 02, 2005","462.85","459.15","462.85","462.85","0.77%" -"Nov 01, 2005","459.30","465.30","459.30","459.30","-1.27%" -"Oct 31, 2005","465.20","472.90","465.20","465.20","-1.74%" -"Oct 28, 2005","473.45","474.35","473.45","473.45","-0.09%" -"Oct 27, 2005","473.90","470.90","473.90","473.90","0.69%" -"Oct 26, 2005","470.65","472.55","470.65","470.65","-0.41%" -"Oct 25, 2005","472.60","465.35","472.60","472.60","1.58%" -"Oct 24, 2005","465.25","466.20","465.25","465.25","-0.35%" -"Oct 21, 2005","466.88","462.38","466.88","466.88","1.22%" -"Oct 20, 2005","461.25","464.65","461.25","461.25","-0.79%" -"Oct 19, 2005","464.90","471.55","464.90","464.90","-1.48%" -"Oct 18, 2005","471.90","474.20","471.90","471.90","-0.42%" -"Oct 17, 2005","473.90","469.65","473.90","473.90","0.92%" -"Oct 14, 2005","469.60","471.90","469.60","469.60","-0.46%" -"Oct 13, 2005","471.75","471.25","471.75","471.75","0.18%" -"Oct 12, 2005","470.88","476.12","470.88","470.88","-0.98%" -"Oct 11, 2005","475.55","475.35","475.55","475.55","0.08%" -"Oct 10, 2005","475.15","474.60","475.15","475.15","0.21%" -"Oct 07, 2005","474.15","473.60","474.15","474.15","0.30%" -"Oct 06, 2005","472.75","465.10","472.75","472.75","1.68%" -"Oct 05, 2005","464.95","466.85","464.95","464.95","-0.30%" -"Oct 04, 2005","466.35","465.65","466.35","466.35","0.04%" -"Oct 03, 2005","466.15","467.60","466.15","466.15","-0.64%" -"Sep 30, 2005","469.15","471.60","469.15","469.15","-0.66%" -"Sep 29, 2005","472.25","469.25","472.25","472.25","0.61%" -"Sep 28, 2005","469.38","462.88","469.38","469.38","1.54%" -"Sep 27, 2005","462.25","466.25","462.25","462.25","-0.94%" -"Sep 26, 2005","466.62","463.88","466.62","466.62","0.73%" -"Sep 23, 2005","463.25","465.35","463.25","463.25","-0.54%" -"Sep 22, 2005","465.75","472.15","465.75","465.75","-1.36%" -"Sep 21, 2005","472.15","464.35","472.15","472.15","1.75%" -"Sep 20, 2005","464.05","464.00","464.05","464.05","-0.19%" -"Sep 19, 2005","464.95","459.35","464.95","464.95","1.13%" -"Sep 16, 2005","459.75","455.85","459.75","459.75","0.99%" -"Sep 15, 2005","455.25","450.85","455.25","455.25","1.00%" -"Sep 14, 2005","450.75","446.45","450.75","450.75","1.02%" -"Sep 13, 2005","446.20","449.55","446.20","446.20","-0.70%" -"Sep 12, 2005","449.35","449.85","449.35","449.35","0.02%" -"Sep 09, 2005","449.25","446.60","449.25","449.25","0.47%" -"Sep 08, 2005","447.15","444.75","447.15","447.15","0.56%" -"Sep 07, 2005","444.65","443.90","444.65","444.65","0.15%" -"Sep 06, 2005","444.00","445.75","444.00","444.00","-0.28%" -"Sep 05, 2005","445.25","444.35","445.25","445.25","0.13%" -"Sep 02, 2005","444.65","443.05","444.65","444.65","0.32%" -"Sep 01, 2005","443.25","435.00","443.25","443.25","1.84%" -"Aug 31, 2005","435.25","431.55","435.25","435.25","0.93%" -"Aug 30, 2005","431.25","436.50","431.25","431.25","-1.30%" -"Aug 29, 2005","436.95","438.65","436.95","436.95","-0.15%" -"Aug 26, 2005","437.60","438.25","437.60","437.60","-0.16%" -"Aug 25, 2005","438.30","437.55","438.30","438.30","0.18%" -"Aug 24, 2005","437.50","439.40","437.50","437.50","-0.34%" -"Aug 23, 2005","439.00","438.00","439.00","439.00","0.19%" -"Aug 22, 2005","438.15","437.25","438.15","438.15","0.42%" -"Aug 19, 2005","436.30","439.90","436.30","436.30","-0.77%" -"Aug 18, 2005","439.70","440.60","439.70","439.70","-0.10%" -"Aug 17, 2005","440.15","446.15","440.15","440.15","-1.34%" -"Aug 16, 2005","446.15","442.55","446.15","446.15","0.80%" -"Aug 15, 2005","442.60","446.25","442.60","442.60","-0.81%" -"Aug 12, 2005","446.20","445.80","446.20","446.20","0.04%" -"Aug 11, 2005","446.00","437.50","446.00","446.00","1.94%" -"Aug 10, 2005","437.50","435.00","437.50","437.50","0.53%" -"Aug 09, 2005","435.20","434.90","435.20","435.20","0.05%" -"Aug 08, 2005","435.00","437.40","435.00","435.00","-0.67%" -"Aug 05, 2005","437.95","437.60","437.95","437.95","0.05%" -"Aug 04, 2005","437.75","436.75","437.75","437.75","0.25%" -"Aug 03, 2005","436.65","432.00","436.65","436.65","1.04%" -"Aug 02, 2005","432.15","431.75","432.15","432.15","0.03%" -"Aug 01, 2005","432.00","429.70","432.00","432.00","0.42%" -"Jul 29, 2005","430.20","427.90","430.20","430.20","0.51%" -"Jul 28, 2005","428.00","425.05","428.00","428.00","0.65%" -"Jul 27, 2005","425.25","423.45","425.25","425.25","0.47%" -"Jul 26, 2005","423.25","425.75","423.25","423.25","-0.65%" -"Jul 25, 2005","426.00","425.20","426.00","426.00","0.26%" -"Jul 22, 2005","424.90","426.40","424.90","424.90","-0.19%" -"Jul 21, 2005","425.70","423.05","425.70","425.70","0.65%" -"Jul 20, 2005","422.95","420.35","422.95","422.95","0.74%" -"Jul 19, 2005","419.85","421.15","419.85","419.85","-0.24%" -"Jul 18, 2005","420.85","421.25","420.85","420.85","-0.17%" -"Jul 15, 2005","421.55","419.85","421.55","421.55","0.36%" -"Jul 14, 2005","420.05","424.10","420.05","420.05","-1.01%" -"Jul 13, 2005","424.35","426.65","424.35","424.35","-0.56%" -"Jul 12, 2005","426.75","425.75","426.75","426.75","0.23%" -"Jul 11, 2005","425.75","423.75","425.75","425.75","0.64%" -"Jul 08, 2005","423.05","424.65","423.05","423.05","-0.37%" -"Jul 07, 2005","424.62","423.88","424.62","424.62","0.26%" -"Jul 06, 2005","423.50","423.85","423.50","423.50","-0.06%" -"Jul 05, 2005","423.75","427.25","423.75","423.75","-0.91%" -"Jul 04, 2005","427.65","428.35","427.65","427.65","0.00%" -"Jul 01, 2005","427.65","434.85","427.65","427.65","-1.75%" -"Jun 30, 2005","435.25","436.85","435.25","435.25","-0.48%" -"Jun 29, 2005","437.35","436.15","437.35","437.35","0.31%" -"Jun 28, 2005","436.00","439.55","436.00","436.00","-0.82%" -"Jun 27, 2005","439.62","439.62","439.62","439.62","-0.21%" -"Jun 24, 2005","440.55","440.85","440.55","440.55","-0.16%" -"Jun 23, 2005","441.25","437.95","441.25","441.25","0.73%" -"Jun 22, 2005","438.05","438.50","438.05","438.05","-0.19%" -"Jun 21, 2005","438.88","437.38","438.88","438.88","0.17%" -"Jun 20, 2005","438.15","438.10","438.15","438.15","-0.05%" -"Jun 17, 2005","438.35","435.60","438.35","438.35","0.50%" -"Jun 16, 2005","436.15","428.85","436.15","436.15","1.75%" -"Jun 15, 2005","428.65","426.95","428.65","428.65","0.43%" -"Jun 14, 2005","426.82","426.88","426.82","426.82","-0.48%" -"Jun 13, 2005","428.90","425.80","428.90","428.90","0.36%" -"Jun 10, 2005","427.35","423.85","427.35","427.35","0.84%" -"Jun 09, 2005","423.77","423.82","423.77","423.77","0.05%" -"Jun 08, 2005","423.55","424.45","423.55","423.55","-0.21%" -"Jun 07, 2005","424.45","426.35","424.45","424.45","-0.36%" -"Jun 06, 2005","426.00","422.55","426.00","426.00","0.84%" -"Jun 03, 2005","422.45","422.15","422.45","422.45","0.19%" -"Jun 02, 2005","421.65","414.25","421.65","421.65","1.49%" -"Jun 01, 2005","415.45","417.00","415.45","415.45","-0.46%" -"May 31, 2005","417.35","418.85","417.35","417.35","-0.33%" -"May 30, 2005","418.75","419.60","418.75","418.75","-0.31%" -"May 27, 2005","420.05","417.85","420.05","420.05","0.55%" -"May 26, 2005","417.75","418.95","417.75","417.75","-0.43%" -"May 25, 2005","419.55","418.20","419.55","419.55","0.37%" -"May 24, 2005","418.00","417.45","418.00","418.00","0.18%" -"May 23, 2005","417.25","417.65","417.25","417.25","-0.12%" -"May 20, 2005","417.77","420.68","417.77","417.77","-0.68%" -"May 19, 2005","420.65","421.85","420.65","420.65","-0.20%" -"May 18, 2005","421.50","418.75","421.50","421.50","0.66%" -"May 17, 2005","418.75","419.85","418.75","418.75","-0.18%" -"May 16, 2005","419.50","420.25","419.50","419.50","-0.21%" -"May 13, 2005","420.40","422.60","420.40","420.40","-0.47%" -"May 12, 2005","422.38","427.68","422.38","422.38","-1.17%" -"May 11, 2005","427.38","426.98","427.38","427.38","0.18%" -"May 10, 2005","426.62","426.38","426.62","426.62","0.12%" -"May 09, 2005","426.12","426.38","426.12","426.12","0.09%" -"May 06, 2005","425.73","430.02","425.73","425.73","-1.00%" -"May 05, 2005","430.02","430.07","430.02","430.02","0.18%" -"May 04, 2005","429.23","427.68","429.23","429.23","0.37%" -"May 03, 2005","427.65","428.85","427.65","427.65","-0.54%" -"May 02, 2005","429.98","434.38","429.98","429.98","-1.13%" -"Apr 29, 2005","434.88","431.57","434.88","434.88","0.86%" -"Apr 28, 2005","431.18","432.88","431.18","431.18","-0.25%" -"Apr 27, 2005","432.27","436.12","432.27","432.27","-1.11%" -"Apr 26, 2005","437.12","436.12","437.12","437.12","0.57%" -"Apr 25, 2005","434.65","433.95","434.65","434.65","0.01%" -"Apr 22, 2005","434.60","432.80","434.60","434.60","0.47%" -"Apr 21, 2005","432.57","434.68","432.57","432.57","-0.51%" -"Apr 20, 2005","434.77","433.77","434.77","434.77","0.28%" -"Apr 19, 2005","433.57","426.98","433.57","433.57","1.48%" -"Apr 18, 2005","427.25","424.50","427.25","427.25","0.53%" -"Apr 15, 2005","425.00","423.70","425.00","425.00","0.23%" -"Apr 14, 2005","424.02","429.18","424.02","424.02","-1.19%" -"Apr 13, 2005","429.12","428.57","429.12","429.12","0.20%" -"Apr 12, 2005","428.25","428.65","428.25","428.25","0.03%" -"Apr 11, 2005","428.12","426.88","428.12","428.12","0.71%" -"Apr 08, 2005","425.12","425.62","425.12","425.12","-0.21%" -"Apr 07, 2005","426.02","426.77","426.02","426.02","-0.18%" -"Apr 06, 2005","426.77","424.88","426.77","426.77","0.40%" -"Apr 05, 2005","425.05","424.35","425.05","425.05","0.17%" -"Apr 04, 2005","424.32","425.88","424.32","424.32","-0.43%" -"Apr 01, 2005","426.15","428.35","426.15","426.15","-0.54%" -"Mar 31, 2005","428.45","426.60","428.45","428.45","0.49%" -"Mar 30, 2005","426.38","426.12","426.38","426.38","0.00%" -"Mar 29, 2005","426.38","426.12","426.38","426.38","0.12%" -"Mar 28, 2005","425.88","425.38","425.88","425.88","-0.09%" -"Mar 25, 2005","426.25","425.25","426.25","426.25","0.28%" -"Mar 24, 2005","425.05","425.45","425.05","425.05","0.05%" -"Mar 23, 2005","424.85","426.85","424.85","424.85","-0.56%" -"Mar 22, 2005","427.25","431.55","427.25","427.25","-0.95%" -"Mar 21, 2005","431.35","439.00","431.35","431.35","-1.82%" -"Mar 18, 2005","439.35","438.85","439.35","439.35","0.21%" -"Mar 17, 2005","438.43","443.12","438.43","438.43","-1.18%" -"Mar 16, 2005","443.65","440.60","443.65","443.65","0.63%" -"Mar 15, 2005","440.88","440.88","440.88","440.88","-0.07%" -"Mar 14, 2005","441.18","445.62","441.18","441.18","-1.05%" -"Mar 11, 2005","445.85","441.85","445.85","445.85","0.78%" -"Mar 10, 2005","442.38","440.43","442.38","442.38","0.40%" -"Mar 09, 2005","440.62","441.12","440.62","440.62","0.00%" -"Mar 08, 2005","440.62","434.62","440.62","440.62","1.38%" -"Mar 07, 2005","434.62","433.98","434.62","434.62","0.14%" -"Mar 04, 2005","434.00","430.10","434.00","434.00","0.87%" -"Mar 03, 2005","430.27","431.88","430.27","430.27","-0.55%" -"Mar 02, 2005","432.65","432.35","432.65","432.65","-0.02%" -"Mar 01, 2005","432.75","435.65","432.75","432.75","-0.66%" -"Feb 28, 2005","435.62","434.88","435.62","435.62","0.16%" -"Feb 25, 2005","434.93","433.62","434.93","434.93","0.19%" -"Feb 24, 2005","434.12","434.27","434.12","434.12","-0.09%" -"Feb 23, 2005","434.50","435.50","434.50","434.50","-0.01%" -"Feb 22, 2005","434.55","427.10","434.55","434.55","1.68%" -"Feb 21, 2005","427.35","428.75","427.35","427.35","-0.02%" -"Feb 18, 2005","427.43","427.27","427.43","427.43","-0.00%" -"Feb 17, 2005","427.45","425.20","427.45","427.45","0.49%" -"Feb 16, 2005","425.38","425.38","425.38","425.38","-0.06%" -"Feb 15, 2005","425.62","425.62","425.62","425.62","-0.06%" -"Feb 14, 2005","425.88","420.62","425.88","425.88","1.19%" -"Feb 11, 2005","420.88","417.38","420.88","420.88","0.78%" -"Feb 10, 2005","417.62","413.38","417.62","417.62","1.09%" -"Feb 09, 2005","413.12","412.57","413.12","413.12","0.08%" -"Feb 08, 2005","412.80","413.65","412.80","412.80","-0.34%" -"Feb 07, 2005","414.20","414.65","414.20","414.20","-0.10%" -"Feb 04, 2005","414.60","417.10","414.60","414.60","-0.60%" -"Feb 03, 2005","417.10","421.80","417.10","417.10","-1.16%" -"Feb 02, 2005","421.98","420.98","421.98","421.98","0.21%" -"Feb 01, 2005","421.10","422.40","421.10","421.10","-0.36%" -"Jan 31, 2005","422.62","426.38","422.62","422.62","-0.98%" -"Jan 28, 2005","426.80","426.20","426.80","426.80","0.14%" -"Jan 27, 2005","426.20","426.65","426.20","426.20","-0.07%" -"Jan 26, 2005","426.50","422.15","426.50","426.50","0.96%" -"Jan 25, 2005","422.43","427.68","422.43","422.43","-1.13%" -"Jan 24, 2005","427.27","427.38","427.27","427.27","0.12%" -"Jan 21, 2005","426.75","422.35","426.75","426.75","0.99%" -"Jan 20, 2005","422.55","423.15","422.55","422.55","-0.07%" -"Jan 19, 2005","422.85","423.05","422.85","422.85","-0.05%" -"Jan 18, 2005","423.05","421.75","423.05","423.05","0.16%" -"Jan 17, 2005","422.38","422.62","422.38","422.38","-0.18%" -"Jan 14, 2005","423.15","425.25","423.15","423.15","-0.46%" -"Jan 13, 2005","425.12","426.02","425.12","425.12","-0.23%" -"Jan 12, 2005","426.12","422.62","426.12","426.12","0.89%" -"Jan 11, 2005","422.38","419.98","422.38","422.38","0.78%" -"Jan 10, 2005","419.12","419.38","419.12","419.12","0.04%" -"Jan 07, 2005","418.95","421.75","418.95","418.95","-0.56%" -"Jan 06, 2005","421.32","426.77","421.32","421.32","-1.23%" -"Jan 05, 2005","426.55","427.55","426.55","426.55","-0.26%" -"Jan 04, 2005","427.65","429.60","427.65","427.65","-0.30%" -"Jan 03, 2005","428.95","437.85","428.95","428.95","-2.17%" -"Dec 31, 2004","438.45","437.60","438.45","438.45","0.23%" -"Dec 30, 2004","437.45","436.25","437.45","437.45","0.25%" -"Dec 29, 2004","436.38","443.88","436.38","436.38","-1.61%" -"Dec 28, 2004","443.50","444.75","443.50","443.50","-0.28%" -"Dec 27, 2004","444.73","442.38","444.73","444.73","0.46%" -"Dec 24, 2004","442.70","442.15","442.70","442.70","0.19%" -"Dec 23, 2004","441.88","439.88","441.88","441.88","0.50%" -"Dec 22, 2004","439.68","441.88","439.68","439.68","-0.50%" -"Dec 21, 2004","441.88","442.93","441.88","441.88","-0.26%" -"Dec 20, 2004","443.02","441.62","443.02","443.02","0.42%" -"Dec 17, 2004","441.18","437.38","441.18","441.18","0.93%" -"Dec 16, 2004","437.12","440.88","437.12","437.12","-0.68%" -"Dec 15, 2004","440.12","436.12","440.12","440.12","1.06%" -"Dec 14, 2004","435.52","438.88","435.52","435.52","-0.82%" -"Dec 13, 2004","439.10","434.15","439.10","439.10","1.06%" -"Dec 10, 2004","434.50","437.30","434.50","434.50","-0.75%" -"Dec 09, 2004","437.80","440.40","437.80","437.80","-0.55%" -"Dec 08, 2004","440.20","451.00","440.20","440.20","-2.37%" -"Dec 07, 2004","450.90","451.90","450.90","450.90","-0.34%" -"Dec 06, 2004","452.45","455.25","452.45","452.45","-0.74%" -"Dec 03, 2004","455.82","449.48","455.82","455.82","1.44%" -"Dec 02, 2004","449.35","454.60","449.35","449.35","-0.95%" -"Dec 01, 2004","453.68","451.12","453.68","453.68","0.62%" -"Nov 30, 2004","450.88","453.12","450.88","450.88","-0.62%" -"Nov 29, 2004","453.68","454.12","453.68","453.68","0.23%" -"Nov 26, 2004","452.62","451.38","452.62","452.62","0.20%" -"Nov 25, 2004","451.70","449.20","451.70","451.70","0.57%" -"Nov 24, 2004","449.12","447.38","449.12","449.12","0.47%" -"Nov 23, 2004","447.00","448.50","447.00","447.00","-0.36%" -"Nov 22, 2004","448.62","446.62","448.62","448.62","0.36%" -"Nov 19, 2004","447.02","442.38","447.02","447.02","0.88%" -"Nov 18, 2004","443.12","444.77","443.12","443.12","-0.34%" -"Nov 17, 2004","444.62","439.38","444.62","444.62","1.14%" -"Nov 16, 2004","439.62","436.88","439.62","439.62","0.64%" -"Nov 15, 2004","436.82","437.62","436.82","436.82","-0.26%" -"Nov 12, 2004","437.95","434.50","437.95","437.95","0.71%" -"Nov 11, 2004","434.88","434.12","434.88","434.88","0.23%" -"Nov 10, 2004","433.88","434.88","433.88","433.88","-0.33%" -"Nov 09, 2004","435.32","432.12","435.32","435.32","0.80%" -"Nov 08, 2004","431.88","431.12","431.88","431.88","-0.40%" -"Nov 05, 2004","433.62","429.62","433.62","433.62","0.93%" -"Nov 04, 2004","429.62","426.88","429.62","429.62","0.49%" -"Nov 03, 2004","427.52","421.38","427.52","427.52","1.34%" -"Nov 02, 2004","421.88","425.88","421.88","421.88","-1.20%" -"Nov 01, 2004","427.00","429.50","427.00","427.00","-0.35%" -"Oct 29, 2004","428.52","424.18","428.52","428.52","1.03%" -"Oct 28, 2004","424.15","423.95","424.15","424.15","0.01%" -"Oct 27, 2004","424.12","426.77","424.12","424.12","-0.70%" -"Oct 26, 2004","427.12","428.98","427.12","427.12","-0.35%" -"Oct 25, 2004","428.62","425.12","428.62","428.62","1.01%" -"Oct 22, 2004","424.32","424.62","424.32","424.32","0.12%" -"Oct 21, 2004","423.82","423.88","423.82","423.82","-0.07%" -"Oct 20, 2004","424.12","420.23","424.12","424.12","1.01%" -"Oct 19, 2004","419.88","415.62","419.88","419.88","0.78%" -"Oct 18, 2004","416.62","418.62","416.62","416.62","-0.53%" -"Oct 15, 2004","418.82","417.98","418.82","418.82","0.16%" -"Oct 14, 2004","418.15","415.65","418.15","418.15","0.43%" -"Oct 13, 2004","416.38","413.57","416.38","416.38","0.30%" -"Oct 12, 2004","415.12","421.82","415.12","415.12","-1.59%" -"Oct 11, 2004","421.82","419.38","421.82","421.82","-0.24%" -"Oct 08, 2004","422.82","418.12","422.82","422.82","1.11%" -"Oct 07, 2004","418.18","418.12","418.18","418.18","0.07%" -"Oct 06, 2004","417.88","419.12","417.88","417.88","-0.12%" -"Oct 05, 2004","418.38","414.38","418.38","418.38","1.07%" -"Oct 04, 2004","413.95","418.75","413.95","413.95","-1.26%" -"Oct 01, 2004","419.23","418.12","419.23","419.23","0.23%" -"Sep 30, 2004","418.25","412.50","418.25","418.25","1.27%" -"Sep 29, 2004","413.02","412.88","413.02","413.02","0.19%" -"Sep 28, 2004","412.25","408.75","412.25","412.25","0.89%" -"Sep 27, 2004","408.62","409.77","408.62","408.62","0.17%" -"Sep 24, 2004","407.93","409.38","407.93","407.93","-0.53%" -"Sep 23, 2004","410.12","404.88","410.12","410.12","0.67%" -"Sep 22, 2004","407.38","409.12","407.38","407.38","-0.43%" -"Sep 21, 2004","409.12","404.88","409.12","409.12","0.93%" -"Sep 20, 2004","405.35","404.85","405.35","405.35","-0.13%" -"Sep 17, 2004","405.88","404.68","405.88","405.88","0.31%" -"Sep 16, 2004","404.62","404.88","404.62","404.62","0.00%" -"Sep 15, 2004","404.62","403.62","404.62","404.62","-0.25%" -"Sep 14, 2004","405.62","403.82","405.62","405.62","0.45%" -"Sep 13, 2004","403.82","402.12","403.82","403.82","0.47%" -"Sep 10, 2004","401.93","399.38","401.93","401.93","0.70%" -"Sep 09, 2004","399.12","399.57","399.12","399.12","-0.11%" -"Sep 08, 2004","399.55","397.75","399.55","399.55","0.42%" -"Sep 07, 2004","397.88","401.62","397.88","397.88","-1.00%" -"Sep 06, 2004","401.88","401.38","401.88","401.88","0.34%" -"Sep 03, 2004","400.52","405.88","400.52","400.52","-1.36%" -"Sep 02, 2004","406.05","408.50","406.05","406.05","-0.62%" -"Sep 01, 2004","408.60","410.15","408.60","408.60","-0.30%" -"Aug 31, 2004","409.82","407.12","409.82","409.82","0.72%" -"Aug 30, 2004","406.88","403.62","406.88","406.88","0.91%" -"Aug 27, 2004","403.23","406.88","403.23","403.23","-0.90%" -"Aug 26, 2004","406.88","407.12","406.88","406.88","0.01%" -"Aug 25, 2004","406.82","403.38","406.82","406.82","0.90%" -"Aug 24, 2004","403.18","409.12","403.18","403.18","-1.33%" -"Aug 23, 2004","408.62","412.12","408.62","408.62","-1.14%" -"Aug 20, 2004","413.32","406.38","413.32","413.32","1.58%" -"Aug 19, 2004","406.88","404.38","406.88","406.88","0.60%" -"Aug 18, 2004","404.45","404.25","404.45","404.45","0.00%" -"Aug 17, 2004","404.45","402.50","404.45","404.45","0.42%" -"Aug 16, 2004","402.75","399.75","402.75","402.75","0.97%" -"Aug 13, 2004","398.90","394.75","398.90","398.90","1.04%" -"Aug 12, 2004","394.80","395.75","394.80","394.80","-0.32%" -"Aug 11, 2004","396.05","397.50","396.05","396.05","-0.53%" -"Aug 10, 2004","398.18","399.93","398.18","398.18","-0.55%" -"Aug 09, 2004","400.38","398.62","400.38","400.38","0.16%" -"Aug 06, 2004","399.75","392.25","399.75","399.75","1.76%" -"Aug 05, 2004","392.85","392.25","392.85","392.85","0.12%" -"Aug 04, 2004","392.38","393.88","392.38","392.38","-0.38%" -"Aug 03, 2004","393.88","391.12","393.88","393.88","0.47%" -"Aug 02, 2004","392.05","394.25","392.05","392.05","0.20%" -"Jul 30, 2004","391.25","388.05","391.25","391.25","0.74%" -"Jul 29, 2004","388.38","388.52","388.38","388.38","-0.20%" -"Jul 28, 2004","389.15","387.75","389.15","389.15","0.27%" -"Jul 27, 2004","388.12","391.12","388.12","388.12","-0.64%" -"Jul 26, 2004","390.62","390.88","390.62","390.62","0.17%" -"Jul 23, 2004","389.95","395.75","389.95","389.95","-1.30%" -"Jul 22, 2004","395.07","397.88","395.07","395.07","-0.74%" -"Jul 21, 2004","398.00","400.50","398.00","398.00","-0.53%" -"Jul 20, 2004","400.12","406.38","400.12","400.12","-1.44%" -"Jul 19, 2004","405.95","406.50","405.95","405.95","-0.12%" -"Jul 16, 2004","406.45","404.10","406.45","406.45","0.53%" -"Jul 15, 2004","404.30","404.35","404.30","404.30","-0.20%" -"Jul 14, 2004","405.12","402.38","405.12","405.12","0.68%" -"Jul 13, 2004","402.38","407.48","402.38","402.38","-1.17%" -"Jul 12, 2004","407.15","407.50","407.15","407.15","-0.10%" -"Jul 09, 2004","407.57","406.27","407.57","407.57","0.11%" -"Jul 08, 2004","407.12","401.88","407.12","407.12","1.33%" -"Jul 07, 2004","401.77","392.62","401.77","401.77","2.46%" -"Jul 06, 2004","392.12","398.12","392.12","392.12","-1.40%" -"Jul 05, 2004","397.70","397.75","397.70","397.70","-0.06%" -"Jul 02, 2004","397.93","395.88","397.93","397.93","0.47%" -"Jul 01, 2004","396.05","394.50","396.05","396.05","0.42%" -"Jun 30, 2004","394.38","392.88","394.38","394.38","0.54%" -"Jun 29, 2004","392.27","401.62","392.27","392.27","-2.15%" -"Jun 28, 2004","400.88","403.12","400.88","400.88","-0.45%" -"Jun 25, 2004","402.68","402.27","402.68","402.68","0.14%" -"Jun 24, 2004","402.12","394.88","402.12","402.12","1.83%" -"Jun 23, 2004","394.88","395.38","394.88","394.88","-0.13%" -"Jun 22, 2004","395.38","394.18","395.38","395.38","0.25%" -"Jun 21, 2004","394.38","394.88","394.38","394.38","-0.23%" -"Jun 18, 2004","395.27","388.38","395.27","395.27","1.92%" -"Jun 17, 2004","387.82","385.07","387.82","387.82","0.80%" -"Jun 16, 2004","384.75","388.75","384.75","384.75","-1.13%" -"Jun 15, 2004","389.15","383.75","389.15","389.15","1.51%" -"Jun 14, 2004","383.38","384.18","383.38","383.38","-0.43%" -"Jun 11, 2004","385.05","385.85","385.05","385.05","-0.26%" -"Jun 10, 2004","386.07","383.38","386.07","386.07","0.51%" -"Jun 09, 2004","384.12","391.88","384.12","384.12","-1.85%" -"Jun 08, 2004","391.38","394.23","391.38","391.38","-0.63%" -"Jun 07, 2004","393.88","391.62","393.88","393.88","0.72%" -"Jun 04, 2004","391.05","388.50","391.05","391.05","0.69%" -"Jun 03, 2004","388.38","391.12","388.38","388.38","-0.64%" -"Jun 02, 2004","390.88","394.48","390.88","390.88","-0.95%" -"Jun 01, 2004","394.62","395.27","394.62","394.62","-0.22%" -"May 31, 2004","395.50","394.15","395.50","395.50","0.33%" -"May 28, 2004","394.18","395.62","394.18","394.18","-0.40%" -"May 27, 2004","395.75","388.65","395.75","395.75","1.87%" -"May 26, 2004","388.50","388.75","388.50","388.50","0.13%" -"May 25, 2004","388.00","385.75","388.00","388.00","0.45%" -"May 24, 2004","386.25","384.50","386.25","386.25","0.36%" -"May 21, 2004","384.88","380.38","384.88","384.88","1.28%" -"May 20, 2004","380.00","381.50","380.00","380.00","-0.52%" -"May 19, 2004","382.00","376.75","382.00","382.00","1.29%" -"May 18, 2004","377.15","378.75","377.15","377.15","-0.59%" -"May 17, 2004","379.38","377.88","379.38","379.38","0.61%" -"May 14, 2004","377.07","374.12","377.07","377.07","0.58%" -"May 13, 2004","374.90","378.60","374.90","374.90","-0.92%" -"May 12, 2004","378.38","378.62","378.38","378.38","0.11%" -"May 11, 2004","377.98","377.88","377.98","377.98","-0.14%" -"May 10, 2004","378.50","378.50","378.50","378.50","-0.16%" -"May 07, 2004","379.10","388.00","379.10","379.10","-2.24%" -"May 06, 2004","387.77","393.38","387.77","387.77","-1.51%" -"May 05, 2004","393.70","393.10","393.70","393.70","0.31%" -"May 04, 2004","392.50","387.85","392.50","392.50","1.33%" -"May 03, 2004","387.35","389.00","387.35","387.35","-0.06%" -"Apr 30, 2004","387.60","388.40","387.60","387.60","-0.07%" -"Apr 29, 2004","387.88","384.88","387.88","387.88","0.65%" -"Apr 28, 2004","385.38","398.77","385.38","385.38","-3.35%" -"Apr 27, 2004","398.75","396.65","398.75","398.75","0.54%" -"Apr 26, 2004","396.60","395.50","396.60","396.60","0.38%" -"Apr 23, 2004","395.10","394.50","395.10","395.10","0.22%" -"Apr 22, 2004","394.25","391.25","394.25","394.25","0.99%" -"Apr 21, 2004","390.38","394.62","390.38","390.38","-1.20%" -"Apr 20, 2004","395.12","400.77","395.12","395.12","-1.29%" -"Apr 19, 2004","400.30","402.35","400.30","400.30","-0.05%" -"Apr 16, 2004","400.50","399.60","400.50","400.50","0.35%" -"Apr 15, 2004","399.12","401.18","399.12","399.12","-0.44%" -"Apr 14, 2004","400.88","407.38","400.88","400.88","-1.47%" -"Apr 13, 2004","406.88","420.18","406.88","406.88","-2.94%" -"Apr 12, 2004","419.20","420.00","419.20","419.20","-0.49%" -"Apr 09, 2004","421.25","419.50","421.25","421.25","0.42%" -"Apr 08, 2004","419.50","422.75","419.50","419.50","-0.92%" -"Apr 07, 2004","423.38","419.62","423.38","423.38","0.83%" -"Apr 06, 2004","419.88","415.88","419.88","419.88","1.02%" -"Apr 05, 2004","415.62","421.12","415.62","415.62","-1.00%" -"Apr 02, 2004","419.80","426.25","419.80","419.80","-1.54%" -"Apr 01, 2004","426.38","426.88","426.38","426.38","-0.06%" -"Mar 31, 2004","426.62","421.38","426.62","426.62","1.20%" -"Mar 30, 2004","421.55","417.50","421.55","421.55","0.82%" -"Mar 29, 2004","418.12","421.62","418.12","418.12","-1.04%" -"Mar 26, 2004","422.50","416.50","422.50","422.50","1.47%" -"Mar 25, 2004","416.38","415.38","416.38","416.38","0.12%" -"Mar 24, 2004","415.88","419.62","415.88","415.88","-0.95%" -"Mar 23, 2004","419.88","417.62","419.88","419.88","0.60%" -"Mar 22, 2004","417.38","412.12","417.38","417.38","1.28%" -"Mar 19, 2004","412.12","410.88","412.12","412.12","0.18%" -"Mar 18, 2004","411.38","407.12","411.38","411.38","0.98%" -"Mar 17, 2004","407.38","402.27","407.38","407.38","1.18%" -"Mar 16, 2004","402.62","400.12","402.62","402.62","0.81%" -"Mar 15, 2004","399.38","396.12","399.38","399.38","1.04%" -"Mar 12, 2004","395.25","402.60","395.25","395.25","-1.77%" -"Mar 11, 2004","402.38","400.12","402.38","402.38","0.52%" -"Mar 10, 2004","400.30","403.35","400.30","400.30","-0.58%" -"Mar 09, 2004","402.62","402.12","402.62","402.62","0.25%" -"Mar 08, 2004","401.62","400.62","401.62","401.62","0.05%" -"Mar 05, 2004","401.40","392.75","401.40","401.40","2.11%" -"Mar 04, 2004","393.12","392.62","393.12","393.12","-0.07%" -"Mar 03, 2004","393.38","392.62","393.38","393.38","0.02%" -"Mar 02, 2004","393.30","399.55","393.30","393.30","-1.65%" -"Mar 01, 2004","399.88","397.12","399.88","399.88","0.87%" -"Feb 27, 2004","396.45","395.10","396.45","396.45","0.27%" -"Feb 26, 2004","395.38","396.12","395.38","395.38","-0.11%" -"Feb 25, 2004","395.80","403.85","395.80","395.80","-2.06%" -"Feb 24, 2004","404.12","398.88","404.12","404.12","1.31%" -"Feb 23, 2004","398.90","398.10","398.90","398.90","0.32%" -"Feb 20, 2004","397.62","410.88","397.62","397.62","-2.99%" -"Feb 19, 2004","409.88","410.88","409.88","409.88","-0.18%" -"Feb 18, 2004","410.62","415.62","410.62","410.62","-1.20%" -"Feb 17, 2004","415.62","411.48","415.62","415.62","0.93%" -"Feb 16, 2004","411.80","410.40","411.80","411.80","0.39%" -"Feb 13, 2004","410.20","412.35","410.20","410.20","-0.56%" -"Feb 12, 2004","412.50","411.60","412.50","412.50","0.21%" -"Feb 11, 2004","411.62","406.12","411.62","411.62","1.26%" -"Feb 10, 2004","406.50","406.90","406.50","406.50","-0.09%" -"Feb 09, 2004","406.88","402.38","406.88","406.88","0.89%" -"Feb 06, 2004","403.30","397.75","403.30","403.30","1.51%" -"Feb 05, 2004","397.30","400.80","397.30","397.30","-0.89%" -"Feb 04, 2004","400.88","400.12","400.88","400.88","0.32%" -"Feb 03, 2004","399.62","398.62","399.62","399.62","0.31%" -"Feb 02, 2004","398.38","402.38","398.38","398.38","-1.04%" -"Jan 30, 2004","402.57","399.88","402.57","402.57","0.67%" -"Jan 29, 2004","399.88","409.38","399.88","399.88","-2.56%" -"Jan 28, 2004","410.38","410.12","410.38","410.38","0.00%" -"Jan 27, 2004","410.38","404.12","410.38","410.38","1.61%" -"Jan 26, 2004","403.88","407.62","403.88","403.88","-1.05%" -"Jan 23, 2004","408.18","410.12","408.18","408.18","-0.35%" -"Jan 22, 2004","409.62","410.98","409.62","409.62","-0.26%" -"Jan 21, 2004","410.70","412.55","410.70","410.70","-0.53%" -"Jan 20, 2004","412.88","406.88","412.88","412.88","1.38%" -"Jan 19, 2004","407.25","407.50","407.25","407.25","0.17%" -"Jan 16, 2004","406.57","409.38","406.57","406.57","-0.50%" -"Jan 15, 2004","408.62","419.88","408.62","408.62","-2.57%" -"Jan 14, 2004","419.38","424.38","419.38","419.38","-1.12%" -"Jan 13, 2004","424.12","424.62","424.12","424.12","-0.18%" -"Jan 12, 2004","424.88","426.62","424.88","424.88","-0.40%" -"Jan 09, 2004","426.60","423.60","426.60","426.60","0.64%" -"Jan 08, 2004","423.88","420.62","423.88","423.88","0.83%" -"Jan 07, 2004","420.38","422.12","420.38","420.38","-0.47%" -"Jan 06, 2004","422.38","423.68","422.38","422.38","-0.29%" -"Jan 05, 2004","423.62","416.12","423.62","423.62","2.05%" -"Jan 02, 2004","415.12","415.38","415.12","415.12","0.02%" -"Dec 31, 2003","415.05","416.35","415.05","415.05","-0.32%" -"Dec 30, 2003","416.38","414.57","416.38","416.38","0.39%" -"Dec 29, 2003","414.77","411.88","414.77","414.77","0.57%" -"Dec 26, 2003","412.40","413.15","412.40","412.40","0.10%" -"Dec 25, 2003","412.00","412.05","412.00","412.00","0.00%" -"Dec 24, 2003","412.00","411.60","412.00","412.00","0.27%" -"Dec 23, 2003","410.88","409.98","410.88","410.88","0.19%" -"Dec 22, 2003","410.12","408.62","410.12","410.12","0.19%" -"Dec 19, 2003","409.35","410.65","409.35","409.35","-0.34%" -"Dec 18, 2003","410.75","412.50","410.75","410.75","-0.45%" -"Dec 17, 2003","412.62","407.88","412.62","412.62","1.29%" -"Dec 16, 2003","407.38","410.38","407.38","407.38","-0.49%" -"Dec 15, 2003","409.38","408.38","409.38","409.38","0.06%" -"Dec 12, 2003","409.15","405.15","409.15","409.15","0.99%" -"Dec 11, 2003","405.12","404.88","405.12","405.12","-0.10%" -"Dec 10, 2003","405.52","408.48","405.52","405.52","-0.70%" -"Dec 09, 2003","408.38","406.38","408.38","408.38","0.31%" -"Dec 08, 2003","407.12","406.18","407.12","407.12","0.19%" -"Dec 05, 2003","406.35","402.25","406.35","406.35","0.86%" -"Dec 04, 2003","402.88","404.38","402.88","402.88","-0.44%" -"Dec 03, 2003","404.65","403.75","404.65","404.65","0.35%" -"Dec 02, 2003","403.25","402.25","403.25","403.25","-0.03%" -"Dec 01, 2003","403.38","398.62","403.38","403.38","1.38%" -"Nov 28, 2003","397.88","395.38","397.88","397.88","0.68%" -"Nov 27, 2003","395.20","396.00","395.20","395.20","-0.36%" -"Nov 26, 2003","396.62","391.38","396.62","396.62","1.37%" -"Nov 25, 2003","391.25","391.90","391.25","391.25","-0.06%" -"Nov 24, 2003","391.50","396.25","391.50","391.50","-1.19%" -"Nov 21, 2003","396.20","394.65","396.20","396.20","0.42%" -"Nov 20, 2003","394.55","394.95","394.55","394.55","-0.05%" -"Nov 19, 2003","394.75","398.75","394.75","394.75","-0.94%" -"Nov 18, 2003","398.50","390.75","398.50","398.50","2.11%" -"Nov 17, 2003","390.25","399.00","390.25","390.25","-1.85%" -"Nov 14, 2003","397.62","394.88","397.62","397.62","0.75%" -"Nov 13, 2003","394.65","394.25","394.65","394.65","0.15%" -"Nov 12, 2003","394.05","388.10","394.05","394.05","1.64%" -"Nov 11, 2003","387.70","385.75","387.70","387.70","0.32%" -"Nov 10, 2003","386.45","383.25","386.45","386.45","0.87%" -"Nov 07, 2003","383.12","380.38","383.12","383.12","0.83%" -"Nov 06, 2003","379.95","382.00","379.95","379.95","-0.41%" -"Nov 05, 2003","381.52","380.02","381.52","381.52","0.51%" -"Nov 04, 2003","379.60","377.45","379.60","379.60","0.66%" -"Nov 03, 2003","377.10","384.60","377.10","377.10","-1.90%" -"Oct 31, 2003","384.40","383.40","384.40","384.40","0.23%" -"Oct 30, 2003","383.50","385.75","383.50","383.50","-0.79%" -"Oct 29, 2003","386.55","383.00","386.55","386.55","0.97%" -"Oct 28, 2003","382.85","388.25","382.85","382.85","-1.30%" -"Oct 27, 2003","387.90","388.25","387.90","387.90","-0.21%" -"Oct 24, 2003","388.70","384.65","388.70","388.70","1.03%" -"Oct 23, 2003","384.75","384.55","384.75","384.75","-0.29%" -"Oct 22, 2003","385.85","380.65","385.85","385.85","1.21%" -"Oct 21, 2003","381.25","373.25","381.25","381.25","2.12%" -"Oct 20, 2003","373.35","372.55","373.35","373.35","0.45%" -"Oct 17, 2003","371.68","372.18","371.68","371.68","-0.01%" -"Oct 16, 2003","371.70","372.85","371.70","371.70","-0.39%" -"Oct 15, 2003","373.15","375.75","373.15","373.15","-0.60%" -"Oct 14, 2003","375.40","374.30","375.40","375.40","0.20%" -"Oct 13, 2003","374.65","373.60","374.65","374.65","0.28%" -"Oct 10, 2003","373.62","370.38","373.62","373.62","0.98%" -"Oct 09, 2003","370.00","375.70","370.00","370.00","-1.39%" -"Oct 08, 2003","375.20","376.85","375.20","375.20","-0.35%" -"Oct 07, 2003","376.50","373.00","376.50","376.50","0.95%" -"Oct 06, 2003","372.95","371.50","372.95","372.95","0.88%" -"Oct 03, 2003","369.70","383.35","369.70","369.70","-3.42%" -"Oct 02, 2003","382.80","385.20","382.80","382.80","-0.46%" -"Oct 01, 2003","384.57","385.07","384.57","384.57","-0.18%" -"Sep 30, 2003","385.25","383.00","385.25","385.25","0.78%" -"Sep 29, 2003","382.25","381.25","382.25","382.25","0.37%" -"Sep 26, 2003","380.85","384.75","380.85","380.85","-1.18%" -"Sep 25, 2003","385.38","389.12","385.38","385.38","-1.02%" -"Sep 24, 2003","389.35","385.25","389.35","389.35","1.21%" -"Sep 23, 2003","384.70","386.50","384.70","384.70","-0.62%" -"Sep 22, 2003","387.10","382.25","387.10","387.10","1.35%" -"Sep 19, 2003","381.95","376.85","381.95","381.95","1.41%" -"Sep 18, 2003","376.65","376.00","376.65","376.65","-0.03%" -"Sep 17, 2003","376.75","373.00","376.75","376.75","0.96%" -"Sep 16, 2003","373.15","374.35","373.15","373.15","-0.25%" -"Sep 15, 2003","374.10","375.80","374.10","374.10","-0.27%" -"Sep 12, 2003","375.12","379.77","375.12","375.12","-1.35%" -"Sep 11, 2003","380.25","380.25","380.25","380.25","-0.04%" -"Sep 10, 2003","380.40","382.00","380.40","380.40","-0.59%" -"Sep 09, 2003","382.65","375.25","382.65","382.65","1.97%" -"Sep 08, 2003","375.25","376.65","375.25","375.25","-0.52%" -"Sep 05, 2003","377.20","373.20","377.20","377.20","1.00%" -"Sep 04, 2003","373.45","375.05","373.45","373.45","-0.11%" -"Sep 03, 2003","373.85","371.75","373.85","373.85","0.60%" -"Sep 02, 2003","371.62","376.12","371.62","371.62","-1.14%" -"Sep 01, 2003","375.90","374.90","375.90","375.90","0.09%" -"Aug 29, 2003","375.57","369.88","375.57","375.57","1.60%" -"Aug 28, 2003","369.65","372.15","369.65","369.65","-0.77%" -"Aug 27, 2003","372.50","364.75","372.50","372.50","2.15%" -"Aug 26, 2003","364.65","361.25","364.65","364.65","0.90%" -"Aug 25, 2003","361.40","362.45","361.40","361.40","-0.48%" -"Aug 22, 2003","363.15","361.85","363.15","363.15","0.49%" -"Aug 21, 2003","361.38","366.38","361.38","361.38","-1.34%" -"Aug 20, 2003","366.27","361.98","366.27","366.27","1.21%" -"Aug 19, 2003","361.88","358.88","361.88","361.88","0.91%" -"Aug 18, 2003","358.62","363.62","358.62","358.62","-1.36%" -"Aug 15, 2003","363.55","366.35","363.55","363.55","-0.63%" -"Aug 14, 2003","365.85","362.35","365.85","365.85","0.88%" -"Aug 13, 2003","362.65","358.40","362.65","362.65","1.19%" -"Aug 12, 2003","358.40","361.75","358.40","358.40","-0.95%" -"Aug 11, 2003","361.85","356.25","361.85","361.85","1.46%" -"Aug 08, 2003","356.65","352.60","356.65","356.65","1.07%" -"Aug 07, 2003","352.88","351.38","352.88","352.88","0.32%" -"Aug 06, 2003","351.75","351.75","351.75","351.75","-0.04%" -"Aug 05, 2003","351.90","349.55","351.90","351.90","0.67%" -"Aug 04, 2003","349.55","347.50","349.55","349.55","0.45%" -"Aug 01, 2003","347.98","355.48","347.98","347.98","-1.98%" -"Jul 31, 2003","355.00","356.35","355.00","355.00","-0.41%" -"Jul 30, 2003","356.45","361.50","356.45","356.45","-1.47%" -"Jul 29, 2003","361.75","363.85","361.75","361.75","-0.82%" -"Jul 28, 2003","364.75","362.00","364.75","364.75","0.54%" -"Jul 25, 2003","362.80","362.10","362.80","362.80","0.29%" -"Jul 24, 2003","361.75","360.40","361.75","361.75","0.58%" -"Jul 23, 2003","359.65","351.15","359.65","359.65","2.54%" -"Jul 22, 2003","350.75","352.00","350.75","350.75","-0.28%" -"Jul 21, 2003","351.75","347.50","351.75","351.75","1.28%" -"Jul 18, 2003","347.30","344.45","347.30","347.30","0.71%" -"Jul 17, 2003","344.85","343.40","344.85","344.85","0.38%" -"Jul 16, 2003","343.55","342.35","343.55","343.55","0.41%" -"Jul 15, 2003","342.15","347.05","342.15","342.15","-1.48%" -"Jul 14, 2003","347.30","345.05","347.30","347.30","0.62%" -"Jul 11, 2003","345.15","344.45","345.15","345.15","-0.09%" -"Jul 10, 2003","345.45","344.45","345.45","345.45","0.26%" -"Jul 09, 2003","344.55","344.40","344.55","344.55","-0.01%" -"Jul 08, 2003","344.60","348.25","344.60","344.60","-1.09%" -"Jul 07, 2003","348.40","351.00","348.40","348.40","-0.70%" -"Jul 04, 2003","350.85","351.05","350.85","350.85","-0.09%" -"Jul 03, 2003","351.15","351.25","351.15","351.15","-0.10%" -"Jul 02, 2003","351.50","351.25","351.50","351.50","0.21%" -"Jul 01, 2003","350.75","346.75","350.75","350.75","1.26%" -"Jun 30, 2003","346.40","345.00","346.40","346.40","0.33%" -"Jun 27, 2003","345.25","347.45","345.25","345.25","0.32%" -"Jun 26, 2003","344.15","347.60","344.15","344.15","-0.94%" -"Jun 25, 2003","347.40","347.50","347.40","347.40","0.01%" -"Jun 24, 2003","347.38","352.88","347.38","347.38","-1.44%" -"Jun 23, 2003","352.45","357.25","352.45","352.45","-1.38%" -"Jun 20, 2003","357.38","361.43","357.38","357.38","-1.28%" -"Jun 19, 2003","362.00","357.75","362.00","362.00","1.20%" -"Jun 18, 2003","357.70","363.05","357.70","357.70","-1.41%" -"Jun 17, 2003","362.80","359.45","362.80","362.80","0.95%" -"Jun 16, 2003","359.40","356.75","359.40","359.40","0.71%" -"Jun 13, 2003","356.88","353.73","356.88","356.88","0.98%" -"Jun 12, 2003","353.40","355.10","353.40","353.40","-0.38%" -"Jun 11, 2003","354.75","353.00","354.75","354.75","0.67%" -"Jun 10, 2003","352.38","361.48","352.38","352.38","-2.48%" -"Jun 09, 2003","361.35","362.75","361.35","361.35","-0.66%" -"Jun 06, 2003","363.75","367.85","363.75","363.75","-1.24%" -"Jun 05, 2003","368.30","361.95","368.30","368.30","1.95%" -"Jun 04, 2003","361.27","365.68","361.27","361.27","-1.09%" -"Jun 03, 2003","365.25","366.05","365.25","365.25","-0.27%" -"Jun 02, 2003","366.25","362.35","366.25","366.25","0.35%" -"May 30, 2003","364.98","368.62","364.98","364.98","-1.11%" -"May 29, 2003","369.07","366.12","369.07","369.07","1.24%" -"May 28, 2003","364.55","365.25","364.55","364.55","-0.16%" -"May 27, 2003","365.12","370.62","365.12","365.12","-1.62%" -"May 26, 2003","371.15","367.85","371.15","371.15","0.65%" -"May 23, 2003","368.75","369.05","368.75","368.75","0.10%" -"May 22, 2003","368.38","372.12","368.38","368.38","-0.87%" -"May 21, 2003","371.62","368.48","371.62","371.62","0.95%" -"May 20, 2003","368.12","367.12","368.12","368.12","0.51%" -"May 19, 2003","366.25","356.75","366.25","366.25","3.21%" -"May 16, 2003","354.85","351.85","354.85","354.85","0.81%" -"May 15, 2003","352.00","352.35","352.00","352.00","-0.14%" -"May 14, 2003","352.50","350.25","352.50","352.50","0.79%" -"May 13, 2003","349.73","350.88","349.73","349.73","-0.43%" -"May 12, 2003","351.25","348.65","351.25","351.25","0.73%" -"May 09, 2003","348.70","348.40","348.70","348.70","0.13%" -"May 08, 2003","348.25","341.70","348.25","348.25","1.83%" -"May 07, 2003","342.00","344.35","342.00","342.00","-0.69%" -"May 06, 2003","344.38","342.12","344.38","344.38","0.64%" -"May 05, 2003","342.20","341.75","342.20","342.20","0.34%" -"May 02, 2003","341.05","341.85","341.05","341.05","-0.20%" -"May 01, 2003","341.75","339.65","341.75","341.75","0.63%" -"Apr 30, 2003","339.62","334.88","339.62","339.62","1.61%" -"Apr 29, 2003","334.25","333.85","334.25","334.25","0.04%" -"Apr 28, 2003","334.10","333.25","334.10","334.10","0.21%" -"Apr 25, 2003","333.40","334.40","333.40","333.40","-0.36%" -"Apr 24, 2003","334.60","331.35","334.60","334.60","0.97%" -"Apr 23, 2003","331.38","332.98","331.38","331.38","-0.52%" -"Apr 22, 2003","333.12","333.77","333.12","333.12","-0.20%" -"Apr 21, 2003","333.80","327.25","333.80","333.80","2.00%" -"Apr 18, 2003","327.25","327.25","327.25","327.25","0.02%" -"Apr 17, 2003","327.20","326.85","327.20","327.20","0.23%" -"Apr 16, 2003","326.45","324.75","326.45","326.45","0.46%" -"Apr 15, 2003","324.95","324.95","324.95","324.95","-0.02%" -"Apr 14, 2003","325.00","326.60","325.00","325.00","-0.97%" -"Apr 11, 2003","328.18","326.27","328.18","328.18","0.51%" -"Apr 10, 2003","326.50","327.05","326.50","326.50","-0.11%" -"Apr 09, 2003","326.85","323.05","326.85","326.85","1.10%" -"Apr 08, 2003","323.30","322.85","323.30","323.30","0.09%" -"Apr 07, 2003","323.00","321.75","323.00","323.00","-0.83%" -"Apr 04, 2003","325.70","325.35","325.70","325.70","0.10%" -"Apr 03, 2003","325.38","329.62","325.38","325.38","-1.40%" -"Apr 02, 2003","330.00","335.25","330.00","330.00","-1.53%" -"Apr 01, 2003","335.12","337.62","335.12","335.12","-0.70%" -"Mar 31, 2003","337.48","332.62","337.48","337.48","1.68%" -"Mar 28, 2003","331.90","329.65","331.90","331.90","0.77%" -"Mar 27, 2003","329.38","330.88","329.38","329.38","-0.30%" -"Mar 26, 2003","330.38","328.88","330.38","330.38","0.54%" -"Mar 25, 2003","328.62","330.38","328.62","328.62","-0.40%" -"Mar 24, 2003","329.93","327.88","329.93","329.93","1.15%" -"Mar 21, 2003","326.18","332.12","326.18","326.18","-1.87%" -"Mar 20, 2003","332.38","336.88","332.38","332.38","-1.24%" -"Mar 19, 2003","336.55","338.65","336.55","336.55","-0.46%" -"Mar 18, 2003","338.10","337.15","338.10","338.10","0.36%" -"Mar 17, 2003","336.90","335.10","336.90","336.90","0.12%" -"Mar 14, 2003","336.50","334.40","336.50","336.50","0.54%" -"Mar 13, 2003","334.70","346.50","334.70","334.70","-3.27%" -"Mar 12, 2003","346.00","350.60","346.00","346.00","-1.42%" -"Mar 11, 2003","350.98","354.98","350.98","350.98","-1.07%" -"Mar 10, 2003","354.77","351.88","354.77","354.77","1.19%" -"Mar 07, 2003","350.60","356.40","350.60","350.60","-1.65%" -"Mar 06, 2003","356.50","353.90","356.50","356.50","0.74%" -"Mar 05, 2003","353.88","354.12","353.88","353.88","0.22%" -"Mar 04, 2003","353.12","350.12","353.12","353.12","0.86%" -"Mar 03, 2003","350.12","348.62","350.12","350.12","0.08%" -"Feb 28, 2003","349.85","345.10","349.85","349.85","1.22%" -"Feb 27, 2003","345.62","354.77","345.62","345.62","-2.47%" -"Feb 26, 2003","354.38","352.12","354.38","354.38","0.70%" -"Feb 25, 2003","351.93","357.12","351.93","351.93","-1.39%" -"Feb 24, 2003","356.88","351.38","356.88","356.88","1.55%" -"Feb 21, 2003","351.43","352.77","351.43","351.43","-0.30%" -"Feb 20, 2003","352.48","349.62","352.48","352.48","0.72%" -"Feb 19, 2003","349.95","342.75","349.95","349.95","1.73%" -"Feb 18, 2003","344.00","346.75","344.00","344.00","-0.86%" -"Feb 17, 2003","347.00","350.50","347.00","347.00","-1.14%" -"Feb 14, 2003","351.00","357.00","351.00","351.00","-1.61%" -"Feb 13, 2003","356.75","352.00","356.75","356.75","1.10%" -"Feb 12, 2003","352.88","363.88","352.88","352.88","-2.97%" -"Feb 11, 2003","363.68","362.62","363.68","363.68","0.19%" -"Feb 10, 2003","362.98","369.38","362.98","362.98","-1.87%" -"Feb 07, 2003","369.90","370.00","369.90","369.90","-0.23%" -"Feb 06, 2003","370.75","370.10","370.75","370.75","-0.40%" -"Feb 05, 2003","372.25","382.25","372.25","372.25","-2.55%" -"Feb 04, 2003","382.00","371.50","382.00","382.00","2.87%" -"Feb 03, 2003","371.35","368.00","371.35","371.35","0.78%" -"Jan 31, 2003","368.48","370.38","368.48","368.48","-0.44%" -"Jan 30, 2003","370.12","365.12","370.12","370.12","1.02%" -"Jan 29, 2003","366.38","369.77","366.38","366.38","-0.84%" -"Jan 28, 2003","369.48","369.12","369.48","369.48","-0.11%" -"Jan 27, 2003","369.88","368.88","369.88","369.88","0.34%" -"Jan 24, 2003","368.62","363.38","368.62","368.62","1.39%" -"Jan 23, 2003","363.57","362.12","363.57","363.57","0.71%" -"Jan 22, 2003","361.00","358.00","361.00","361.00","0.80%" -"Jan 21, 2003","358.15","356.35","358.15","358.15","0.53%" -"Jan 20, 2003","356.25","356.25","356.25","356.25","-0.06%" -"Jan 17, 2003","356.48","357.12","356.48","356.48","-0.46%" -"Jan 16, 2003","358.12","351.12","358.12","358.12","2.13%" -"Jan 15, 2003","350.65","351.75","350.65","350.65","-0.24%" -"Jan 14, 2003","351.50","354.00","351.50","351.50","-0.88%" -"Jan 13, 2003","354.62","353.38","354.62","354.62","-0.02%" -"Jan 10, 2003","354.68","352.88","354.68","354.68","0.40%" -"Jan 09, 2003","353.27","353.12","353.27","353.27","-0.10%" -"Jan 08, 2003","353.62","347.62","353.62","353.62","1.80%" -"Jan 07, 2003","347.38","350.62","347.38","347.38","-1.17%" -"Jan 06, 2003","351.48","350.88","351.48","351.48","0.08%" -"Jan 03, 2003","351.20","345.30","351.20","351.20","1.61%" -"Jan 02, 2003","345.62","346.38","345.62","345.62","-0.40%" -"Dec 31, 2002","347.00","343.30","347.00","347.00","0.93%" -"Dec 30, 2002","343.80","349.30","343.80","343.80","-1.55%" -"Dec 27, 2002","349.20","349.55","349.20","349.20","-0.12%" -"Dec 26, 2002","349.62","344.38","349.62","349.62","1.19%" -"Dec 25, 2002","345.50","347.00","345.50","345.50","-0.39%" -"Dec 24, 2002","346.85","345.45","346.85","346.85","0.29%" -"Dec 23, 2002","345.85","340.25","345.85","345.85","1.51%" -"Dec 20, 2002","340.70","345.85","340.70","340.70","-1.36%" -"Dec 19, 2002","345.38","344.88","345.38","345.38","0.50%" -"Dec 18, 2002","343.65","337.25","343.65","343.65","2.01%" -"Dec 17, 2002","336.88","336.88","336.88","336.88","0.03%" -"Dec 16, 2002","336.77","332.88","336.77","336.77","1.09%" -"Dec 13, 2002","333.15","331.25","333.15","333.15","0.51%" -"Dec 12, 2002","331.45","325.00","331.45","331.45","2.09%" -"Dec 11, 2002","324.65","323.50","324.65","324.65","0.28%" -"Dec 10, 2002","323.75","325.95","323.75","323.75","-0.69%" -"Dec 09, 2002","326.00","326.45","326.00","326.00","-0.08%" -"Dec 06, 2002","326.25","324.65","326.25","326.25","0.51%" -"Dec 05, 2002","324.60","322.15","324.60","324.60","0.73%" -"Dec 04, 2002","322.25","320.75","322.25","322.25","0.44%" -"Dec 03, 2002","320.85","317.75","320.85","320.85","0.96%" -"Dec 02, 2002","317.80","318.85","317.80","317.80","-0.39%" -"Nov 29, 2002","319.05","317.85","319.05","319.05","0.36%" -"Nov 28, 2002","317.90","317.25","317.90","317.90","0.19%" -"Nov 27, 2002","317.30","318.10","317.30","317.30","-0.27%" -"Nov 26, 2002","318.15","318.10","318.15","318.15","0.02%" -"Nov 25, 2002","318.10","320.25","318.10","318.10","-0.92%" -"Nov 22, 2002","321.05","317.75","321.05","321.05","1.07%" -"Nov 21, 2002","317.65","317.85","317.65","317.65","-0.06%" -"Nov 20, 2002","317.85","318.90","317.85","317.85","-0.38%" -"Nov 19, 2002","319.05","319.25","319.05","319.05","-0.09%" -"Nov 18, 2002","319.35","320.25","319.35","319.35","-0.37%" -"Nov 15, 2002","320.55","318.15","320.55","320.55","0.69%" -"Nov 14, 2002","318.35","319.20","318.35","318.35","-0.20%" -"Nov 13, 2002","319.00","324.35","319.00","319.00","-1.68%" -"Nov 12, 2002","324.45","321.50","324.45","324.45","0.87%" -"Nov 11, 2002","321.65","321.50","321.65","321.65","0.03%" -"Nov 08, 2002","321.55","321.00","321.55","321.55","0.14%" -"Nov 07, 2002","321.10","318.05","321.10","321.10","0.90%" -"Nov 06, 2002","318.25","317.85","318.25","318.25","0.16%" -"Nov 05, 2002","317.75","318.55","317.75","317.75","-0.16%" -"Nov 04, 2002","318.25","318.75","318.25","318.25","-0.62%" -"Nov 01, 2002","320.25","317.65","320.25","320.25","0.77%" -"Oct 31, 2002","317.80","316.25","317.80","317.80","0.44%" -"Oct 30, 2002","316.40","317.00","316.40","316.40","-0.11%" -"Oct 29, 2002","316.75","315.65","316.75","316.75","0.36%" -"Oct 28, 2002","315.60","313.45","315.60","315.60","0.56%" -"Oct 25, 2002","313.85","311.80","313.85","313.85","0.71%" -"Oct 24, 2002","311.65","312.05","311.65","311.65","-0.06%" -"Oct 23, 2002","311.85","312.75","311.85","311.85","-0.37%" -"Oct 22, 2002","313.00","311.25","313.00","313.00","0.63%" -"Oct 21, 2002","311.05","312.85","311.05","311.05","-0.58%" -"Oct 18, 2002","312.85","311.55","312.85","312.85","0.45%" -"Oct 17, 2002","311.45","314.25","311.45","311.45","-0.99%" -"Oct 16, 2002","314.55","313.75","314.55","314.55","0.33%" -"Oct 15, 2002","313.50","318.15","313.50","313.50","-1.40%" -"Oct 14, 2002","317.95","317.65","317.95","317.95","0.38%" -"Oct 11, 2002","316.75","317.00","316.75","316.75","-0.03%" -"Oct 10, 2002","316.85","320.25","316.85","316.85","-1.00%" -"Oct 09, 2002","320.05","318.45","320.05","320.05","0.57%" -"Oct 08, 2002","318.25","322.55","318.25","318.25","-1.29%" -"Oct 07, 2002","322.40","322.75","322.40","322.40","0.05%" -"Oct 04, 2002","322.25","321.40","322.25","322.25","0.19%" -"Oct 03, 2002","321.65","322.75","321.65","321.65","-0.42%" -"Oct 02, 2002","323.00","320.00","323.00","323.00","0.84%" -"Oct 01, 2002","320.30","323.60","320.30","320.30","-1.07%" -"Sep 30, 2002","323.75","320.90","323.75","323.75","1.19%" -"Sep 27, 2002","319.95","320.15","319.95","319.95","0.00%" -"Sep 26, 2002","319.95","322.35","319.95","319.95","-0.71%" -"Sep 25, 2002","322.25","326.25","322.25","322.25","-1.20%" -"Sep 24, 2002","326.15","322.45","326.15","326.15","1.13%" -"Sep 23, 2002","322.50","322.75","322.50","322.50","0.11%" -"Sep 20, 2002","322.15","323.05","322.15","322.15","-0.36%" -"Sep 19, 2002","323.30","320.55","323.30","323.30","0.91%" -"Sep 18, 2002","320.40","318.00","320.40","320.40","0.64%" -"Sep 17, 2002","318.35","315.75","318.35","318.35","0.28%" -"Sep 16, 2002","317.45","316.10","317.45","317.45","0.19%" -"Sep 13, 2002","316.85","319.10","316.85","316.85","-0.83%" -"Sep 12, 2002","319.50","317.35","319.50","319.50","0.58%" -"Sep 11, 2002","317.65","317.55","317.65","317.65","-0.03%" -"Sep 10, 2002","317.75","321.00","317.75","317.75","-1.09%" -"Sep 09, 2002","321.25","320.05","321.25","321.25","0.31%" -"Sep 06, 2002","320.25","319.00","320.25","320.25","0.31%" -"Sep 05, 2002","319.25","314.65","319.25","319.25","1.46%" -"Sep 04, 2002","314.65","313.75","314.65","314.65","0.16%" -"Sep 03, 2002","314.15","312.05","314.15","314.15","0.61%" -"Sep 02, 2002","312.25","312.65","312.25","312.25","-0.16%" -"Aug 30, 2002","312.75","314.25","312.75","312.75","-0.40%" -"Aug 29, 2002","314.00","310.25","314.00","314.00","1.24%" -"Aug 28, 2002","310.15","312.45","310.15","310.15","-0.83%" -"Aug 27, 2002","312.75","309.30","312.75","312.75","1.07%" -"Aug 26, 2002","309.45","307.35","309.45","309.45","0.80%" -"Aug 23, 2002","307.00","306.95","307.00","307.00","-0.02%" -"Aug 22, 2002","307.05","307.85","307.05","307.05","-0.31%" -"Aug 21, 2002","308.00","309.15","308.00","308.00","-0.34%" -"Aug 20, 2002","309.05","307.05","309.05","309.05","0.75%" -"Aug 19, 2002","306.75","313.75","306.75","306.75","-2.31%" -"Aug 16, 2002","314.00","315.20","314.00","314.00","-0.22%" -"Aug 15, 2002","314.70","311.55","314.70","314.70","0.98%" -"Aug 14, 2002","311.65","315.50","311.65","311.65","-1.27%" -"Aug 13, 2002","315.65","314.25","315.65","315.65","0.45%" -"Aug 12, 2002","314.25","313.55","314.25","314.25","-0.11%" -"Aug 09, 2002","314.60","310.85","314.60","314.60","1.27%" -"Aug 08, 2002","310.65","314.35","310.65","310.65","-1.08%" -"Aug 07, 2002","314.05","306.25","314.05","314.05","2.51%" -"Aug 06, 2002","306.35","307.55","306.35","306.35","-0.58%" -"Aug 05, 2002","308.15","307.00","308.15","308.15","0.24%" -"Aug 02, 2002","307.40","304.00","307.40","307.40","0.90%" -"Aug 01, 2002","304.65","303.75","304.65","304.65","0.36%" -"Jul 31, 2002","303.55","305.00","303.55","303.55","-0.39%" -"Jul 30, 2002","304.75","302.75","304.75","304.75","0.73%" -"Jul 29, 2002","302.55","303.75","302.55","302.55","-0.40%" -"Jul 26, 2002","303.75","310.45","303.75","303.75","-2.10%" -"Jul 25, 2002","310.25","311.25","310.25","310.25","-0.16%" -"Jul 24, 2002","310.75","313.40","310.75","310.75","-0.80%" -"Jul 23, 2002","313.25","322.95","313.25","313.25","-3.05%" -"Jul 22, 2002","323.10","324.75","323.10","323.10","-0.26%" -"Jul 19, 2002","323.95","317.85","323.95","323.95","1.90%" -"Jul 18, 2002","317.90","317.75","317.90","317.90","0.08%" -"Jul 17, 2002","317.65","317.85","317.65","317.65","-0.19%" -"Jul 16, 2002","318.25","318.05","318.25","318.25","0.03%" -"Jul 15, 2002","318.15","316.25","318.15","318.15","0.68%" -"Jul 12, 2002","316.00","316.35","316.00","316.00","-0.19%" -"Jul 11, 2002","316.60","315.65","316.60","316.60","0.13%" -"Jul 10, 2002","316.20","316.45","316.20","316.20","-0.14%" -"Jul 09, 2002","316.65","312.60","316.65","316.65","1.21%" -"Jul 08, 2002","312.85","310.25","312.85","312.85","0.43%" -"Jul 05, 2002","311.50","310.90","311.50","311.50","0.24%" -"Jul 04, 2002","310.75","311.20","310.75","310.75","-0.14%" -"Jul 03, 2002","311.20","313.05","311.20","311.20","-0.58%" -"Jul 02, 2002","313.00","315.00","313.00","313.00","-0.68%" -"Jul 01, 2002","315.15","314.00","315.15","315.15","0.17%" -"Jun 28, 2002","314.62","318.48","314.62","314.62","-1.14%" -"Jun 27, 2002","318.25","319.55","318.25","318.25","-0.31%" -"Jun 26, 2002","319.25","321.60","319.25","319.25","-0.65%" -"Jun 25, 2002","321.35","322.85","321.35","321.35","-0.38%" -"Jun 24, 2002","322.57","325.12","322.57","322.57","-0.64%" -"Jun 21, 2002","324.65","323.75","324.65","324.65","0.22%" -"Jun 20, 2002","323.95","320.85","323.95","323.95","0.97%" -"Jun 19, 2002","320.85","320.15","320.85","320.85","0.25%" -"Jun 18, 2002","320.05","317.15","320.05","320.05","0.88%" -"Jun 17, 2002","317.25","319.25","317.25","317.25","-0.67%" -"Jun 14, 2002","319.40","318.25","319.40","319.40","0.39%" -"Jun 13, 2002","318.15","319.50","318.15","318.15","-0.34%" -"Jun 12, 2002","319.25","321.10","319.25","319.25","-0.61%" -"Jun 11, 2002","321.20","318.95","321.20","321.20","0.67%" -"Jun 10, 2002","319.05","323.55","319.05","319.05","-1.53%" -"Jun 07, 2002","324.00","325.85","324.00","324.00","-0.41%" -"Jun 06, 2002","325.35","321.55","325.35","325.35","1.23%" -"Jun 05, 2002","321.40","324.80","321.40","321.40","-0.88%" -"Jun 04, 2002","324.25","328.15","324.25","324.25","-1.17%" -"Jun 03, 2002","328.10","326.55","328.10","328.10","0.47%" -"May 31, 2002","326.55","324.75","326.55","326.55","0.48%" -"May 30, 2002","325.00","325.00","325.00","325.00","-0.05%" -"May 29, 2002","325.15","324.35","325.15","325.15","0.25%" -"May 28, 2002","324.35","320.30","324.35","324.35","1.28%" -"May 27, 2002","320.25","320.95","320.25","320.25","-0.11%" -"May 24, 2002","320.60","321.50","320.60","320.60","-0.47%" -"May 23, 2002","322.12","317.93","322.12","322.12","1.33%" -"May 22, 2002","317.90","316.20","317.90","317.90","0.55%" -"May 21, 2002","316.15","315.75","316.15","316.15","0.13%" -"May 20, 2002","315.75","310.65","315.75","315.75","1.53%" -"May 17, 2002","311.00","309.65","311.00","311.00","0.35%" -"May 16, 2002","309.90","309.05","309.90","309.90","0.28%" -"May 15, 2002","309.05","307.75","309.05","309.05","0.46%" -"May 14, 2002","307.65","310.85","307.65","307.65","-1.01%" -"May 13, 2002","310.80","310.75","310.80","310.80","-0.08%" -"May 10, 2002","311.05","310.25","311.05","311.05","0.47%" -"May 09, 2002","309.60","308.75","309.60","309.60","0.45%" -"May 08, 2002","308.20","311.35","308.20","308.20","-1.04%" -"May 07, 2002","311.45","312.75","311.45","311.45","-0.40%" -"May 06, 2002","312.70","311.50","312.70","312.70","0.24%" -"May 03, 2002","311.95","307.70","311.95","311.95","1.33%" -"May 02, 2002","307.85","308.85","307.85","307.85","-0.29%" -"May 01, 2002","308.75","309.25","308.75","308.75","0.13%" -"Apr 30, 2002","308.35","311.55","308.35","308.35","-0.87%" -"Apr 29, 2002","311.05","311.05","311.05","311.05","-0.10%" -"Apr 26, 2002","311.35","307.35","311.35","311.35","1.20%" -"Apr 25, 2002","307.65","304.15","307.65","307.65","1.18%" -"Apr 24, 2002","304.05","303.55","304.05","304.05","0.13%" -"Apr 23, 2002","303.65","303.00","303.65","303.65","0.25%" -"Apr 22, 2002","302.90","302.15","302.90","302.90","0.18%" -"Apr 19, 2002","302.35","303.85","302.35","302.35","-0.43%" -"Apr 18, 2002","303.65","302.25","303.65","303.65","0.53%" -"Apr 17, 2002","302.05","298.15","302.05","302.05","1.27%" -"Apr 16, 2002","298.25","299.65","298.25","298.25","-0.53%" -"Apr 15, 2002","299.85","301.15","299.85","299.85","-0.76%" -"Apr 12, 2002","302.15","302.40","302.15","302.15","-0.15%" -"Apr 11, 2002","302.60","301.35","302.60","302.60","0.28%" -"Apr 10, 2002","301.75","298.55","301.75","301.75","1.07%" -"Apr 09, 2002","298.55","300.25","298.55","298.55","-0.60%" -"Apr 08, 2002","300.35","300.15","300.35","300.35","0.10%" -"Apr 05, 2002","300.05","300.95","300.05","300.05","-0.32%" -"Apr 04, 2002","301.00","302.65","301.00","301.00","-0.58%" -"Apr 03, 2002","302.75","305.85","302.75","302.75","-1.01%" -"Apr 02, 2002","305.85","304.05","305.85","305.85","0.82%" -"Apr 01, 2002","303.35","302.25","303.35","303.35","0.21%" -"Mar 29, 2002","302.70","302.50","302.70","302.70","0.02%" -"Mar 28, 2002","302.65","302.25","302.65","302.65","0.17%" -"Mar 27, 2002","302.15","296.75","302.15","302.15","1.85%" -"Mar 26, 2002","296.65","298.35","296.65","296.65","-0.54%" -"Mar 25, 2002","298.25","297.25","298.25","298.25","0.17%" -"Mar 22, 2002","297.75","292.35","297.75","297.75","1.57%" -"Mar 21, 2002","293.15","292.35","293.15","293.15","0.24%" -"Mar 20, 2002","292.45","293.20","292.45","292.45","-0.19%" -"Mar 19, 2002","293.00","292.65","293.00","293.00","0.19%" -"Mar 18, 2002","292.45","290.35","292.45","292.45","0.83%" -"Mar 15, 2002","290.05","291.25","290.05","290.05","-0.38%" -"Mar 14, 2002","291.15","293.35","291.15","291.15","-0.82%" -"Mar 13, 2002","293.55","294.15","293.55","293.55","-0.17%" -"Mar 12, 2002","294.05","290.70","294.05","294.05","1.12%" -"Mar 11, 2002","290.80","289.60","290.80","290.80","0.36%" -"Mar 08, 2002","289.75","289.55","289.75","289.75","-0.17%" -"Mar 07, 2002","290.25","293.65","290.25","290.25","-1.06%" -"Mar 06, 2002","293.35","294.05","293.35","293.35","-0.24%" -"Mar 05, 2002","294.07","297.07","294.07","294.07","-0.94%" -"Mar 04, 2002","296.85","298.05","296.85","296.85","-0.44%" -"Mar 01, 2002","298.15","296.65","298.15","298.15","0.40%" -"Feb 28, 2002","296.95","296.50","296.95","296.95","0.19%" -"Feb 27, 2002","296.40","298.00","296.40","296.40","-0.45%" -"Feb 26, 2002","297.75","292.55","297.75","297.75","1.73%" -"Feb 25, 2002","292.70","291.65","292.70","292.70","-0.10%" -"Feb 22, 2002","293.00","294.00","293.00","293.00","0.00%" -"Feb 21, 2002","293.00","292.00","293.00","293.00","0.45%" -"Feb 20, 2002","291.70","292.50","291.70","291.70","-0.53%" -"Feb 19, 2002","293.25","298.25","293.25","293.25","-1.51%" -"Feb 18, 2002","297.75","298.50","297.75","297.75","-0.12%" -"Feb 15, 2002","298.10","299.70","298.10","298.10","-0.73%" -"Feb 14, 2002","300.30","299.75","300.30","300.30","0.27%" -"Feb 13, 2002","299.50","300.90","299.50","299.50","-0.33%" -"Feb 12, 2002","300.50","299.30","300.50","300.50","0.27%" -"Feb 11, 2002","299.70","303.60","299.70","299.70","-1.41%" -"Feb 08, 2002","304.00","301.00","304.00","304.00","1.23%" -"Feb 07, 2002","300.30","296.50","300.30","300.30","1.15%" -"Feb 06, 2002","296.90","297.50","296.90","296.90","-0.29%" -"Feb 05, 2002","297.75","290.05","297.75","297.75","2.80%" -"Feb 04, 2002","289.65","286.25","289.65","289.65","1.19%" -"Feb 01, 2002","286.25","282.75","286.25","286.25","1.38%" -"Jan 31, 2002","282.35","281.90","282.35","282.35","0.11%" -"Jan 30, 2002","282.05","281.95","282.05","282.05","0.07%" -"Jan 29, 2002","281.85","278.75","281.85","281.85","1.00%" -"Jan 28, 2002","279.05","279.35","279.05","279.05","-0.14%" -"Jan 25, 2002","279.45","278.85","279.45","279.45","0.23%" -"Jan 24, 2002","278.80","279.25","278.80","278.80","-0.16%" -"Jan 23, 2002","279.25","281.70","279.25","279.25","-0.90%" -"Jan 22, 2002","281.80","282.55","281.80","281.80","-0.27%" -"Jan 21, 2002","282.55","283.55","282.55","282.55","-0.35%" -"Jan 18, 2002","283.55","284.00","283.55","283.55","-0.32%" -"Jan 17, 2002","284.45","287.15","284.45","284.45","-1.08%" -"Jan 16, 2002","287.55","284.65","287.55","287.55","1.05%" -"Jan 15, 2002","284.55","284.95","284.55","284.55","-0.28%" -"Jan 14, 2002","285.35","287.35","285.35","285.35","-0.77%" -"Jan 11, 2002","287.55","286.85","287.55","287.55","0.28%" -"Jan 10, 2002","286.75","283.35","286.75","286.75","1.20%" -"Jan 09, 2002","283.35","279.05","283.35","283.35","1.54%" -"Jan 08, 2002","279.05","278.85","279.05","279.05","0.11%" -"Jan 07, 2002","278.75","278.90","278.75","278.75","-0.07%" -"Jan 04, 2002","278.95","278.55","278.95","278.95","0.18%" -"Jan 03, 2002","278.45","278.85","278.45","278.45","-0.14%" -"Jan 02, 2002","278.85","278.85","278.85","278.85","-0.04%" -"Dec 31, 2001","278.95","276.15","278.95","278.95","0.87%" -"Dec 28, 2001","276.55","277.25","276.55","276.55","-0.18%" -"Dec 27, 2001","277.05","279.25","277.05","277.05","-0.79%" -"Dec 26, 2001","279.25","279.10","279.25","279.25","-0.09%" -"Dec 25, 2001","279.50","278.00","279.50","279.50","0.52%" -"Dec 24, 2001","278.05","277.70","278.05","278.05","-0.04%" -"Dec 21, 2001","278.15","276.35","278.15","278.15","0.72%" -"Dec 20, 2001","276.15","276.15","276.15","276.15","0.07%" -"Dec 19, 2001","275.95","280.45","275.95","275.95","-1.57%" -"Dec 18, 2001","280.35","278.15","280.35","280.35","0.90%" -"Dec 17, 2001","277.85","278.25","277.85","277.85","-0.22%" -"Dec 14, 2001","278.45","274.50","278.45","278.45","1.53%" -"Dec 13, 2001","274.25","274.35","274.25","274.25","0.00%" -"Dec 12, 2001","274.25","273.05","274.25","274.25","0.55%" -"Dec 11, 2001","272.75","272.95","272.75","272.75","0.00%" -"Dec 10, 2001","272.75","274.45","272.75","272.75","-0.66%" -"Dec 07, 2001","274.55","274.55","274.55","274.55","0.00%" -"Dec 06, 2001","274.55","274.35","274.55","274.55","0.15%" -"Dec 05, 2001","274.15","275.70","274.15","274.15","-0.58%" -"Dec 04, 2001","275.75","277.25","275.75","275.75","-0.65%" -"Dec 03, 2001","277.55","274.80","277.55","277.55","1.15%" -"Nov 30, 2001","274.40","274.25","274.40","274.40","0.13%" -"Nov 29, 2001","274.05","274.50","274.05","274.05","-0.11%" -"Nov 28, 2001","274.35","273.65","274.35","274.35","0.26%" -"Nov 27, 2001","273.65","272.95","273.65","273.65","0.18%" -"Nov 26, 2001","273.15","273.00","273.15","273.15","0.09%" -"Nov 23, 2001","272.90","272.85","272.90","272.90","0.02%" -"Nov 22, 2001","272.85","273.15","272.85","272.85","-0.18%" -"Nov 21, 2001","273.35","273.25","273.35","273.35","0.02%" -"Nov 20, 2001","273.30","272.85","273.30","273.30","0.11%" -"Nov 19, 2001","273.00","274.85","273.00","273.00","-0.67%" -"Nov 16, 2001","274.85","275.25","274.85","274.85","-0.11%" -"Nov 15, 2001","275.15","277.35","275.15","275.15","-0.79%" -"Nov 14, 2001","277.35","277.55","277.35","277.35","-0.14%" -"Nov 13, 2001","277.75","278.25","277.75","277.75","-0.18%" -"Nov 12, 2001","278.25","277.65","278.25","278.25","0.29%" -"Nov 09, 2001","277.45","276.65","277.45","277.45","-0.07%" -"Nov 08, 2001","277.65","280.75","277.65","277.65","-1.00%" -"Nov 07, 2001","280.45","280.75","280.45","280.45","0.20%" -"Nov 06, 2001","279.90","278.95","279.90","279.90","0.38%" -"Nov 05, 2001","278.85","280.25","278.85","278.85","-0.39%" -"Nov 02, 2001","279.95","279.95","279.95","279.95","0.00%" -"Nov 01, 2001","279.95","279.55","279.95","279.95","0.11%" -"Oct 31, 2001","279.65","280.50","279.65","279.65","-0.25%" -"Oct 30, 2001","280.35","279.15","280.35","280.35","0.52%" -"Oct 29, 2001","278.90","277.55","278.90","278.90","0.54%" -"Oct 26, 2001","277.40","276.80","277.40","277.40","0.05%" -"Oct 25, 2001","277.25","275.85","277.25","277.25","0.64%" -"Oct 24, 2001","275.50","276.10","275.50","275.50","-0.16%" -"Oct 23, 2001","275.95","275.75","275.95","275.95","0.13%" -"Oct 22, 2001","275.60","279.40","275.60","275.60","-1.49%" -"Oct 19, 2001","279.77","279.38","279.77","279.77","0.07%" -"Oct 18, 2001","279.57","283.02","279.57","279.57","-1.05%" -"Oct 17, 2001","282.55","281.65","282.55","282.55","0.39%" -"Oct 16, 2001","281.45","281.75","281.45","281.45","-0.04%" -"Oct 15, 2001","281.55","284.35","281.55","281.55","-1.11%" -"Oct 12, 2001","284.70","282.55","284.70","284.70","1.14%" -"Oct 11, 2001","281.50","285.50","281.50","281.50","-1.26%" -"Oct 10, 2001","285.10","289.00","285.10","285.10","-1.09%" -"Oct 09, 2001","288.25","292.00","288.25","288.25","-1.33%" -"Oct 08, 2001","292.15","292.75","292.15","292.15","0.31%" -"Oct 05, 2001","291.25","290.25","291.25","291.25","0.40%" -"Oct 04, 2001","290.10","289.25","290.10","290.10","0.14%" -"Oct 03, 2001","289.70","290.00","289.70","289.70","0.00%" -"Oct 02, 2001","289.70","292.15","289.70","289.70","-0.77%" -"Oct 01, 2001","291.95","291.95","291.95","291.95","-0.34%" -"Sep 28, 2001","292.95","291.50","292.95","292.95","0.39%" -"Sep 27, 2001","291.80","292.65","291.80","291.80","-0.41%" -"Sep 26, 2001","293.00","289.00","293.00","293.00","1.12%" -"Sep 25, 2001","289.75","289.50","289.75","289.75","0.09%" -"Sep 24, 2001","289.50","291.25","289.50","289.50","-0.75%" -"Sep 21, 2001","291.70","289.00","291.70","291.70","1.06%" -"Sep 20, 2001","288.65","290.25","288.65","288.65","-0.69%" -"Sep 19, 2001","290.65","288.00","290.65","290.65","0.92%" -"Sep 18, 2001","288.00","289.50","288.00","288.00","-0.67%" -"Sep 17, 2001","289.95","290.75","289.95","289.95","1.27%" -"Sep 14, 2001","286.30","281.00","286.30","286.30","1.52%" -"Sep 13, 2001","282.00","278.00","282.00","282.00","0.89%" -"Sep 12, 2001","279.50","291.50","279.50","279.50","-3.12%" -"Sep 11, 2001","288.50","273.65","288.50","288.50","6.16%" -"Sep 10, 2001","271.75","273.15","271.75","271.75","-0.51%" -"Sep 07, 2001","273.15","272.90","273.15","273.15","0.09%" -"Sep 06, 2001","272.90","271.85","272.90","272.90","0.33%" -"Sep 05, 2001","272.00","272.05","272.00","272.00","-0.06%" -"Sep 04, 2001","272.15","273.40","272.15","272.15","-0.49%" -"Sep 03, 2001","273.50","274.25","273.50","273.50","-0.35%" -"Aug 31, 2001","274.45","275.25","274.45","274.45","-0.29%" -"Aug 30, 2001","275.25","273.55","275.25","275.25","0.55%" -"Aug 29, 2001","273.75","272.55","273.75","273.75","0.55%" -"Aug 28, 2001","272.25","272.75","272.25","272.25","-0.22%" -"Aug 27, 2001","272.85","272.75","272.85","272.85","0.00%" -"Aug 24, 2001","272.85","275.35","272.85","272.85","-0.98%" -"Aug 23, 2001","275.55","274.55","275.55","275.55","0.36%" -"Aug 22, 2001","274.55","275.25","274.55","274.55","-0.18%" -"Aug 21, 2001","275.05","276.25","275.05","275.05","-0.40%" -"Aug 20, 2001","276.15","278.75","276.15","276.15","-1.11%" -"Aug 17, 2001","279.25","274.95","279.25","279.25","1.42%" -"Aug 16, 2001","275.35","275.95","275.35","275.35","-0.25%" -"Aug 15, 2001","276.05","276.35","276.05","276.05","-0.14%" -"Aug 14, 2001","276.45","275.75","276.45","276.45","0.14%" -"Aug 13, 2001","276.05","274.00","276.05","276.05","0.66%" -"Aug 10, 2001","274.25","273.25","274.25","274.25","0.26%" -"Aug 09, 2001","273.55","268.45","273.55","273.55","1.94%" -"Aug 08, 2001","268.35","267.45","268.35","268.35","0.26%" -"Aug 07, 2001","267.65","267.65","267.65","267.65","-0.04%" -"Aug 06, 2001","267.75","268.45","267.75","267.75","-0.26%" -"Aug 03, 2001","268.45","267.85","268.45","268.45","0.26%" -"Aug 02, 2001","267.75","267.75","267.75","267.75","0.07%" -"Aug 01, 2001","267.55","266.55","267.55","267.55","0.26%" -"Jul 31, 2001","266.85","265.35","266.85","266.85","0.60%" -"Jul 30, 2001","265.25","267.85","265.25","265.25","-0.97%" -"Jul 27, 2001","267.85","266.75","267.85","267.85","0.45%" -"Jul 26, 2001","266.65","267.75","266.65","266.65","-0.49%" -"Jul 25, 2001","267.95","269.75","267.95","267.95","-0.67%" -"Jul 24, 2001","269.75","269.00","269.75","269.75","0.33%" -"Jul 23, 2001","268.85","270.00","268.85","268.85","-0.48%" -"Jul 20, 2001","270.15","269.25","270.15","270.15","0.26%" -"Jul 19, 2001","269.45","270.45","269.45","269.45","-0.48%" -"Jul 18, 2001","270.75","268.40","270.75","270.75","0.86%" -"Jul 17, 2001","268.45","267.25","268.45","268.45","0.49%" -"Jul 16, 2001","267.15","267.30","267.15","267.15","-0.07%" -"Jul 13, 2001","267.35","266.75","267.35","267.35","0.19%" -"Jul 12, 2001","266.85","268.25","266.85","266.85","-0.71%" -"Jul 11, 2001","268.75","266.40","268.75","268.75","0.90%" -"Jul 10, 2001","266.35","266.65","266.35","266.35","-0.11%" -"Jul 09, 2001","266.65","266.45","266.65","266.65","0.15%" -"Jul 06, 2001","266.25","265.55","266.25","266.25","0.34%" -"Jul 05, 2001","265.35","267.75","265.35","265.35","-0.97%" -"Jul 04, 2001","267.95","267.85","267.95","267.95","0.00%" -"Jul 03, 2001","267.95","269.55","267.95","267.95","-0.52%" -"Jul 02, 2001","269.35","270.80","269.35","269.35","-0.55%" -"Jun 29, 2001","270.85","269.40","270.85","270.85","0.56%" -"Jun 28, 2001","269.35","272.55","269.35","269.35","-1.07%" -"Jun 27, 2001","272.25","276.25","272.25","272.25","-1.45%" -"Jun 26, 2001","276.25","273.85","276.25","276.25","0.82%" -"Jun 25, 2001","274.00","272.55","274.00","274.00","0.51%" -"Jun 22, 2001","272.60","272.50","272.60","272.60","-0.09%" -"Jun 21, 2001","272.85","272.55","272.85","272.85","0.07%" -"Jun 20, 2001","272.65","273.55","272.65","272.65","-0.37%" -"Jun 19, 2001","273.65","272.45","273.65","273.65","0.22%" -"Jun 18, 2001","273.05","271.60","273.05","273.05","0.70%" -"Jun 15, 2001","271.15","275.65","271.15","271.15","-1.67%" -"Jun 14, 2001","275.75","272.65","275.75","275.75","1.14%" -"Jun 13, 2001","272.65","271.85","272.65","272.65","0.29%" -"Jun 12, 2001","271.85","268.15","271.85","271.85","1.44%" -"Jun 11, 2001","268.00","273.75","268.00","268.00","-2.01%" -"Jun 08, 2001","273.50","266.60","273.50","273.50","2.68%" -"Jun 07, 2001","266.35","266.55","266.35","266.35","0.04%" -"Jun 06, 2001","266.25","266.35","266.25","266.25","-0.04%" -"Jun 05, 2001","266.35","265.85","266.35","266.35","0.30%" -"Jun 04, 2001","265.55","266.95","265.55","265.55","-0.54%" -"Jun 01, 2001","267.00","265.90","267.00","267.00","0.36%" -"May 31, 2001","266.05","266.50","266.05","266.05","-0.02%" -"May 30, 2001","266.10","273.90","266.10","266.10","-2.85%" -"May 29, 2001","273.90","277.80","273.90","273.90","-1.44%" -"May 28, 2001","277.90","277.75","277.90","277.90","0.00%" -"May 25, 2001","277.90","279.25","277.90","277.90","-0.48%" -"May 24, 2001","279.25","283.60","279.25","279.25","-1.59%" -"May 23, 2001","283.75","285.50","283.75","283.75","-0.53%" -"May 22, 2001","285.25","285.50","285.25","285.25","-0.14%" -"May 21, 2001","285.65","286.50","285.65","285.65","-0.24%" -"May 18, 2001","286.35","273.60","286.35","286.35","4.68%" -"May 17, 2001","273.55","272.05","273.55","273.55","0.50%" -"May 16, 2001","272.20","268.50","272.20","272.20","1.42%" -"May 15, 2001","268.40","268.45","268.40","268.40","-0.04%" -"May 14, 2001","268.50","268.05","268.50","268.50","0.17%" -"May 11, 2001","268.05","269.05","268.05","268.05","-0.35%" -"May 10, 2001","269.00","269.75","269.00","269.00","-0.33%" -"May 09, 2001","269.90","265.05","269.90","269.90","1.87%" -"May 08, 2001","264.95","266.00","264.95","264.95","-0.43%" -"May 07, 2001","266.10","266.05","266.10","266.10","-0.02%" -"May 04, 2001","266.15","266.00","266.15","266.15","0.00%" -"May 03, 2001","266.15","265.25","266.15","266.15","0.30%" -"May 02, 2001","265.35","264.40","265.35","265.35","0.38%" -"May 01, 2001","264.35","263.85","264.35","264.35","0.11%" -"Apr 30, 2001","264.05","263.90","264.05","264.05","0.00%" -"Apr 27, 2001","264.05","264.25","264.05","264.05","-0.04%" -"Apr 26, 2001","264.15","262.60","264.15","264.15","0.69%" -"Apr 25, 2001","262.35","264.25","262.35","262.35","-0.74%" -"Apr 24, 2001","264.30","263.40","264.30","264.30","0.30%" -"Apr 23, 2001","263.50","264.25","263.50","263.50","-0.43%" -"Apr 20, 2001","264.65","265.25","264.65","264.65","-0.32%" -"Apr 19, 2001","265.50","261.15","265.50","265.50","1.63%" -"Apr 18, 2001","261.25","261.00","261.25","261.25","0.10%" -"Apr 17, 2001","261.00","262.85","261.00","261.00","-0.91%" -"Apr 16, 2001","263.40","260.00","263.40","263.40","1.25%" -"Apr 13, 2001","260.15","260.00","260.15","260.15","0.00%" -"Apr 12, 2001","260.15","258.85","260.15","260.15","0.54%" -"Apr 11, 2001","258.75","257.75","258.75","258.75","0.47%" -"Apr 10, 2001","257.55","258.05","257.55","257.55","-0.37%" -"Apr 09, 2001","258.50","260.05","258.50","258.50","-0.54%" -"Apr 06, 2001","259.90","258.50","259.90","259.90","0.52%" -"Apr 05, 2001","258.55","259.00","258.55","258.55","-0.08%" -"Apr 04, 2001","258.75","257.35","258.75","258.75","0.66%" -"Apr 03, 2001","257.05","255.70","257.05","257.05","0.59%" -"Apr 02, 2001","255.55","257.75","255.55","255.55","-0.93%" -"Mar 30, 2001","257.95","259.15","257.95","257.95","-0.42%" -"Mar 29, 2001","259.05","260.20","259.05","259.05","-0.38%" -"Mar 28, 2001","260.05","260.90","260.05","260.05","-0.54%" -"Mar 27, 2001","261.45","262.45","261.45","261.45","-0.46%" -"Mar 26, 2001","262.65","262.15","262.65","262.65","0.11%" -"Mar 23, 2001","262.35","262.25","262.35","262.35","0.15%" -"Mar 22, 2001","261.95","263.15","261.95","261.95","-0.42%" -"Mar 21, 2001","263.05","262.05","263.05","263.05","0.54%" -"Mar 20, 2001","261.65","260.85","261.65","261.65","0.38%" -"Mar 19, 2001","260.65","258.80","260.65","260.65","0.73%" -"Mar 16, 2001","258.75","260.85","258.75","258.75","-0.73%" -"Mar 15, 2001","260.65","263.85","260.65","260.65","-0.91%" -"Mar 14, 2001","263.05","268.65","263.05","263.05","-1.76%" -"Mar 13, 2001","267.75","272.65","267.75","267.75","-1.76%" -"Mar 12, 2001","272.55","272.20","272.55","272.55","0.06%" -"Mar 09, 2001","272.38","267.38","272.38","272.38","2.23%" -"Mar 08, 2001","266.45","262.45","266.45","266.45","1.56%" -"Mar 07, 2001","262.35","260.65","262.35","262.35","0.61%" -"Mar 06, 2001","260.75","263.10","260.75","260.75","-0.91%" -"Mar 05, 2001","263.15","262.65","263.15","263.15","0.15%" -"Mar 02, 2001","262.75","265.05","262.75","262.75","-1.09%" -"Mar 01, 2001","265.65","267.15","265.65","265.65","-0.60%" -"Feb 28, 2001","267.25","268.05","267.25","267.25","-0.37%" -"Feb 27, 2001","268.25","267.00","268.25","268.25","0.52%" -"Feb 26, 2001","266.85","261.75","266.85","266.85","2.05%" -"Feb 23, 2001","261.50","258.70","261.50","261.50","0.95%" -"Feb 22, 2001","259.05","258.75","259.05","259.05","0.19%" -"Feb 21, 2001","258.55","256.45","258.55","258.55","0.90%" -"Feb 20, 2001","256.25","259.65","256.25","256.25","-1.31%" -"Feb 19, 2001","259.65","258.75","259.65","259.65","0.27%" -"Feb 16, 2001","258.95","255.95","258.95","258.95","1.13%" -"Feb 15, 2001","256.05","259.75","256.05","256.05","-1.48%" -"Feb 14, 2001","259.90","260.65","259.90","259.90","-0.40%" -"Feb 13, 2001","260.95","261.45","260.95","260.95","-0.15%" -"Feb 12, 2001","261.35","261.35","261.35","261.35","0.27%" -"Feb 09, 2001","260.65","260.85","260.65","260.65","-0.10%" -"Feb 08, 2001","260.90","263.40","260.90","260.90","-0.93%" -"Feb 07, 2001","263.35","263.75","263.35","263.35","-0.11%" -"Feb 06, 2001","263.65","265.45","263.65","263.65","-0.72%" -"Feb 05, 2001","265.55","267.15","265.55","265.55","-0.73%" -"Feb 02, 2001","267.50","268.35","267.50","267.50","-0.43%" -"Feb 01, 2001","268.65","266.15","268.65","268.65","1.05%" -"Jan 31, 2001","265.85","266.00","265.85","265.85","0.00%" -"Jan 30, 2001","265.85","263.15","265.85","265.85","1.03%" -"Jan 29, 2001","263.15","263.55","263.15","263.15","0.04%" -"Jan 26, 2001","263.05","265.00","263.05","263.05","-0.72%" -"Jan 25, 2001","264.95","264.95","264.95","264.95","0.00%" -"Jan 24, 2001","264.95","266.55","264.95","264.95","-0.60%" -"Jan 23, 2001","266.55","267.50","266.55","266.55","-0.15%" -"Jan 22, 2001","266.95","265.55","266.95","266.95","0.79%" -"Jan 19, 2001","264.85","264.80","264.85","264.85","-0.08%" -"Jan 18, 2001","265.05","263.80","265.05","265.05","0.51%" -"Jan 17, 2001","263.70","263.75","263.70","263.70","0.06%" -"Jan 16, 2001","263.55","263.65","263.55","263.55","-0.04%" -"Jan 15, 2001","263.65","264.50","263.65","263.65","-0.23%" -"Jan 12, 2001","264.25","264.30","264.25","264.25","0.04%" -"Jan 11, 2001","264.15","264.90","264.15","264.15","-0.25%" -"Jan 10, 2001","264.80","267.55","264.80","264.80","-1.14%" -"Jan 09, 2001","267.85","268.55","267.85","267.85","-0.22%" -"Jan 08, 2001","268.45","268.35","268.45","268.45","0.13%" -"Jan 05, 2001","268.10","267.45","268.10","268.10","0.21%" -"Jan 04, 2001","267.55","268.05","267.55","267.55","-0.41%" -"Jan 03, 2001","268.65","269.25","268.65","268.65","-0.07%" -"Jan 02, 2001","268.85","272.75","268.85","268.85","-1.30%" -"Dec 29, 2000","272.40","272.45","272.40","272.40","-0.06%" -"Dec 28, 2000","272.55","275.25","272.55","272.55","-1.09%" -"Dec 27, 2000","275.55","274.55","275.55","275.55","0.40%" -"Dec 26, 2000","274.45","273.40","274.45","274.45","0.15%" -"Dec 25, 2000","274.05","274.00","274.05","274.05","0.04%" -"Dec 22, 2000","273.95","274.25","273.95","273.95","-0.11%" -"Dec 21, 2000","274.25","273.45","274.25","274.25","0.22%" -"Dec 20, 2000","273.65","270.50","273.65","273.65","1.26%" -"Dec 19, 2000","270.25","270.25","270.25","270.25","0.00%" -"Dec 18, 2000","270.25","271.00","270.25","270.25","-0.24%" -"Dec 15, 2000","270.90","270.05","270.90","270.90","0.43%" -"Dec 14, 2000","269.75","269.25","269.75","269.75","0.20%" -"Dec 13, 2000","269.20","270.95","269.20","269.20","-0.79%" -"Dec 12, 2000","271.35","270.65","271.35","271.35","0.30%" -"Dec 11, 2000","270.55","272.75","270.55","270.55","-0.81%" -"Dec 08, 2000","272.75","273.75","272.75","272.75","-0.37%" -"Dec 07, 2000","273.75","274.75","273.75","273.75","-0.44%" -"Dec 06, 2000","274.95","270.60","274.95","274.95","1.70%" -"Dec 05, 2000","270.35","270.90","270.35","270.35","-0.30%" -"Dec 04, 2000","271.15","269.75","271.15","271.15","0.65%" -"Dec 01, 2000","269.40","270.45","269.40","269.40","-0.35%" -"Nov 30, 2000","270.35","266.90","270.35","270.35","1.27%" -"Nov 29, 2000","266.95","269.60","266.95","266.95","-0.95%" -"Nov 28, 2000","269.50","270.00","269.50","269.50","-0.20%" -"Nov 27, 2000","270.05","265.75","270.05","270.05","1.54%" -"Nov 24, 2000","265.95","266.05","265.95","265.95","-0.02%" -"Nov 23, 2000","266.00","267.25","266.00","266.00","-0.24%" -"Nov 22, 2000","266.65","265.85","266.65","266.65","0.30%" -"Nov 21, 2000","265.85","266.45","265.85","265.85","-0.19%" -"Nov 20, 2000","266.35","266.25","266.35","266.35","0.21%" -"Nov 17, 2000","265.80","265.85","265.80","265.80","-0.02%" -"Nov 16, 2000","265.85","264.85","265.85","265.85","0.23%" -"Nov 15, 2000","265.25","264.60","265.25","265.25","0.23%" -"Nov 14, 2000","264.65","264.55","264.65","264.65","0.08%" -"Nov 13, 2000","264.45","264.75","264.45","264.45","-0.08%" -"Nov 10, 2000","264.65","265.95","264.65","264.65","-0.41%" -"Nov 09, 2000","265.75","265.05","265.75","265.75","0.23%" -"Nov 08, 2000","265.15","264.65","265.15","265.15","0.28%" -"Nov 07, 2000","264.40","265.15","264.40","264.40","-0.23%" -"Nov 06, 2000","265.00","265.20","265.00","265.00","-0.08%" -"Nov 03, 2000","265.20","264.80","265.20","265.20","0.21%" -"Nov 02, 2000","264.65","264.65","264.65","264.65","0.13%" -"Nov 01, 2000","264.30","265.10","264.30","264.30","-0.28%" -"Oct 31, 2000","265.05","264.60","265.05","265.05","0.08%" -"Oct 30, 2000","264.85","264.75","264.85","264.85","0.11%" -"Oct 27, 2000","264.55","265.35","264.55","264.55","-0.30%" -"Oct 26, 2000","265.35","266.80","265.35","265.35","-0.52%" -"Oct 25, 2000","266.75","270.40","266.75","266.75","-1.31%" -"Oct 24, 2000","270.30","270.40","270.30","270.30","-0.02%" -"Oct 23, 2000","270.35","271.30","270.35","270.35","-0.42%" -"Oct 20, 2000","271.50","271.10","271.50","271.50","0.24%" -"Oct 19, 2000","270.85","270.75","270.85","270.85","0.07%" -"Oct 18, 2000","270.65","271.60","270.65","270.65","-0.22%" -"Oct 17, 2000","271.25","272.05","271.25","271.25","-0.29%" -"Oct 16, 2000","272.05","272.45","272.05","272.05","-0.22%" -"Oct 13, 2000","272.65","276.35","272.65","272.65","-1.45%" -"Oct 12, 2000","276.65","270.95","276.65","276.65","1.99%" -"Oct 11, 2000","271.25","273.10","271.25","271.25","-0.55%" -"Oct 10, 2000","272.75","270.60","272.75","272.75","0.79%" -"Oct 09, 2000","270.60","269.95","270.60","270.60","0.35%" -"Oct 06, 2000","269.65","269.75","269.65","269.65","-0.26%" -"Oct 05, 2000","270.35","270.85","270.35","270.35","-0.15%" \ No newline at end of file diff --git a/Resources/.ipynb_checkpoints/minimum_hourly_wage_worldwide-checkpoint.csv b/Resources/.ipynb_checkpoints/minimum_hourly_wage_worldwide-checkpoint.csv deleted file mode 100644 index d2a595b..0000000 --- a/Resources/.ipynb_checkpoints/minimum_hourly_wage_worldwide-checkpoint.csv +++ /dev/null @@ -1,33 +0,0 @@ -Country,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019 -Australia,10.9,11,11.1,11.3,11.4,11.2,11.6,11.4,11.6,11.5,11.6,11.8,11.8,11.8,12,12.1,12.2,12.4,12.6 -Belgium,10.9,11.1,11,10.9,10.8,10.8,10.9,10.9,11.4,11.2,11.1,11,11.2,11.2,11.1,11,11,10.9,11 -Canada,7.2,7.1,7,7.1,7.1,7.3,7.3,7.6,8.1,8.4,8.4,8.6,8.6,8.7,8.8,8.9,9.1,10.1,10.2 -Chile,1.9,1.9,1.9,2,2,2.1,2.1,2.1,2.3,2.3,2.4,2.4,2.5,2.6,2.7,2.8,2.9,3,3.1 -Colombia,2.1,2.1,2.1,2.2,2.2,2.2,2.3,2.3,2.3,2.4,2.4,2.4,2.5,2.5,2.5,2.5,2.6,2.6,2.7 -Czech Republic,3.1,3.4,3.7,3.9,4.1,4.3,4.4,4.1,4.1,4,3.9,3.8,3.8,3.9,4.3,4.5,5,5.4,5.8 -Estonia,1.8,2,2.3,2.5,2.6,2.8,3.2,3.6,3.6,3.5,3.2,3.2,3.3,3.7,4.1,4.5,4.7,4.9,5.2 -France,10.1,10.2,10.4,10.7,11.2,11.4,11.6,11.6,11.8,11.7,11.7,11.8,11.9,11.9,12,12.1,12.1,12,12.1 -Germany,..,..,..,..,..,..,..,..,..,..,..,..,..,..,11.5,11.4,11.7,11.5,11.8 -Greece,5.7,5.8,5.9,6,6.1,6.3,6.4,6.6,6.9,6.7,6.5,5.2,5.1,5.2,5.2,5.3,5.2,5.2,5.7 -Hungary,2.9,3.4,3.3,3.2,3.4,3.5,3.4,3.4,3.4,3.3,3.4,3.8,4,4.1,4.3,4.5,5,5.2,5.5 -Ireland,7.7,7.7,7.8,8.4,8.7,8.6,9.1,9,9.4,9.5,9.2,9.1,9,9,9,9.6,9.6,9.9,10.1 -Israel,5.5,5.3,5.4,5.4,5.3,5.5,5.7,5.6,5.5,5.4,5.4,5.5,5.6,5.6,6,6.2,6.6,6.9,6.9 -Japan,6.3,6.3,6.3,6.3,6.4,6.4,6.5,6.7,6.9,7,7.1,7.2,7.1,7.2,7.4,7.6,7.8,8,.. -Korea,3,3.3,3.5,3.7,4,4.2,4.6,4.7,4.9,4.9,4.9,5.1,5.4,5.7,6,6.5,6.8,7.8,8.6 -Latvia,1.1,1.2,1.3,1.5,1.5,1.6,2.1,2.7,3,3,3.2,3.1,3,3.4,3.8,3.9,3.9,4.4,4.3 -Lithuania,2.3,2.3,2.3,2.6,2.7,2.9,3.1,3.5,3.3,3.3,3.2,3.1,3.2,3.4,4.2,4.8,4.8,4.9,6.7 -Luxembourg,10.9,10.8,11.2,11.2,11.5,11.4,11.6,11.5,11.9,11.9,11.8,11.7,11.8,12.2,12.3,12.2,12.5,12.4,12.5 -Mexico,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,1,1,1,1.1,1.2 -Netherlands,10.7,10.9,11,10.9,10.7,10.7,10.8,10.8,11.1,11.1,10.9,10.9,10.7,10.8,10.8,11,11,11,11 -New Zealand,7,7.1,7.4,7.6,7.8,8.1,8.7,8.9,9.2,9.2,9,9.2,9.3,9.5,9.8,10.1,10.2,10.4,11 -Poland,3.3,3.2,3.4,3.4,3.4,3.6,3.6,4.2,4.6,4.6,4.6,4.9,5.1,5.4,5.7,6,6.4,6.6,6.9 -Portugal,4.7,4.8,4.7,4.7,4.7,4.7,4.8,5,5.3,5.5,5.4,5.3,5.3,5.3,5.5,5.7,5.9,6.1,6.3 -Slovak Republic,1.4,1.5,1.8,2,2.1,2.3,2.5,2.6,2.9,3,3.1,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2 -Slovenia,5,5.2,5.4,5.6,5.7,5.8,5.7,5.8,6,7.1,7.3,7.3,7.3,7.4,7.4,7.4,7.5,7.7,7.9 -Spain,5.8,5.8,5.7,5.7,6,6.2,6.4,6.4,6.7,6.7,6.6,6.4,6.4,6.4,6.4,6.5,6.9,7.1,8.6 -Turkey,3,3.2,3.4,4.4,4.6,4.5,4.5,4.4,4.6,4.6,4.7,4.9,5,5,5.4,6.5,6.3,6.2,6.7 -United Kingdom,7.1,7.6,7.8,8.2,8.6,8.8,9,9,9.1,9,8.9,8.8,8.8,8.9,9.1,9.9,10,10.2,10.5 -United States,7.4,7.3,7.2,7,6.7,6.5,6.7,7.3,8.2,8.5,8.2,8.1,8,7.8,7.8,7.7,7.6,7.4,7.3 -Costa Rica,2.9,2.8,2.9,2.8,2.8,2.9,2.9,3,3,3.1,3.1,3.2,3.2,3.2,3.4,3.5,3.4,3.4,3.5 -Brazil,1.1,1.1,1.2,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.8,2,2,2,2,2.1,2.1,2.1,2.1 -Russian Federation,0.3,0.4,0.4,0.4,0.5,0.6,1.2,1.1,1.8,1.7,1.6,1.6,1.7,1.6,1.5,1.5,1.8,2.4,2.4 diff --git a/Resources/.ipynb_checkpoints/minimum_wage-checkpoint.csv b/Resources/.ipynb_checkpoints/minimum_wage-checkpoint.csv deleted file mode 100644 index f6c1ab8..0000000 --- a/Resources/.ipynb_checkpoints/minimum_wage-checkpoint.csv +++ /dev/null @@ -1,2497 +0,0 @@ -"COUNTRY","Country","SERIES","Series","PERIOD","Pay period","TIME","Time","Unit Code","Unit","PowerCode Code","PowerCode","Reference Period Code","Reference Period","Value","Flag Codes","Flags" -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,16237.5535471646,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,16009.336351562,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,16070.9418490968,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,16245.2321516289,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,17397.5336083409,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,18157.9086357549,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,17988.3226208953,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,19009.0992659915,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18633.5970435944,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19507.147266941,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19688.6959107231,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,19197.7726134835,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,18877.5695843202,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,18782.0226423485,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18747.7999739593,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18802.3039193939,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,19887.4903741198,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20036.6090181415,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20585.9095452602,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20928.2818254341,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,9729.95962750166,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,9584.00365821467,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,9486.66787339873,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,9394.23519189671,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,9305.06663079854,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9811.12993995186,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,10214.4257063816,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,10483.1166988845,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,10591.5794091654,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11047.0577622482,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11013.4719854861,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,10808.8686421956,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10550.7961488333,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10467.5100028595,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,10483.3262300077,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,10589.9354482569,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,10717.4580973854,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,11356.2123774572,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,11614.1824260802,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14105.382882782,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,23022.2482529289,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,22811.887812508,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,23036.6088116918,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,23337.1909043548,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,23746.7903844364,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,23939.3403768226,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,23572.9051441716,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,24354.6955676035,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,23928.1467101025,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,24235.9685714195,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,24114.1991862564,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,24296.6616810414,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,24627.5714523778,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,24700.5492802456,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,24777.7003219718,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,25079.9389576652,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,25370.6371012788,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,25596.9282511179,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,25970.8371414463,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,26388.4708242643,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,5.91439303170783,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.82963246628047,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.77284901098645,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.7157570109392,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,5.65701230671178,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,5.96857319433752,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.21072627297824,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.37523529786335,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.44545103827258,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.72070525723016,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,6.69641691545253,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,6.58062805843115,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,6.42350901599038,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,6.3636810883901,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,6.37329650080104,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,6.4349387393739,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.52212205076796,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.90584316668749,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.06375423378897,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,8.57665814207433,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.31936643123627,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.13781997686605,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.21934864314786,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.29774689852131,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.6932065206754,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.76418624733718,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.74902891161886,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.73768566115039,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.70992542684707,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.75372873192586,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.77046707262711,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.82360831653865,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.8730816675056,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.9076088440551,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.93196624309308,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.07262975500428,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.48712610795037,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.41505251234051,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.37030972399934,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.59388963129994,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,21780.8727474297,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,22558.6768160607,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,22513.8336735017,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,23356.2198713932,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,23322.2380114185,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,23791.1626769606,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,23654.0345524869,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,24097.3771464712,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,23790.0088539693,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,24781.2345227476,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,24633.1358198615,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,24572.5180486659,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,24383.8549435032,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,24358.5467108324,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,25405.468057909,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,25459.6300557461,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,25385.7996883193,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,25935.3343080989,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,25810.9722372078,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,26252.4536104059,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,15151.8327270528,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15203.2387124639,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15315.1877994366,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,15901.817020034,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,16452.1640023319,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,16895.3421438577,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,17536.0276809328,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18701.657008296,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,19318.2313898912,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19818.848533592,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19862.0939851214,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,19469.2623377148,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,19916.5441899601,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,20153.2618181344,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,20545.2345259271,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,21210.4158757712,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,21794.7127518977,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,22106.0629685934,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,22541.5993157207,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,23329.9843531253,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,14134.6654455989,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14578.684981368,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15595.5844952078,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,15951.9704962361,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,16876.021223316,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,17662.3773965573,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,18019.5129170488,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18526.9208807405,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18502.2220039255,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,18714.1864919394,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,18527.544212668,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,18246.3569159508,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,18208.7234372972,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,18128.6684629439,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18268.956840067,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18746.2706380154,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20402.5619520386,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20512.1075609751,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20918.7000279486,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21544.5883246431,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.509473568077305,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.512387382645776,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.516022573220981,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.515812208752755,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.513675556103805,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.516154610420657,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.517993123159848,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.517607641534819,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.5121168797668,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,0.508833935988027,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,0.512223376608026,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,0.515684702672994,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,0.516493953357325,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,0.518741962357467,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,0.518137143683565,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,0.528665405749467,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,0.546375911711998,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,0.564627697194638,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,0.594207329218776,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,0.6663,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,9787.41909960977,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,9783.30896155138,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,9943.63576058763,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,10096.5866202009,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,10314.8272712664,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,10515.1021019761,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,10818.9632030667,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,11079.0480302666,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,11297.1838483146,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11801.8202651896,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11469.6339273999,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,11189.086154707,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,9232.60633164642,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,9011.74828577643,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,9131.48105293224,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,9292.80847532749,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9370.17402858391,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9266.27508400741,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9208.66379409622,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,10103.6969536851,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.827291900823486,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.913491462884931,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.02543894608161,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.21910809201188,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.32321925138479,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.41165776311017,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.51464944765112,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.65234485198304,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.72958861538875,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.90086826467967,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.97923150291735,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.03968314384356,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.10461268409764,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.10461268409764,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,9798.16046576753,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,9858.74208052403,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,9909.57275590884,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,9837.46590238704,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,9839.29965265038,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9873.18717197749,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,9856.64568092444,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,10052.2221317754,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,10357.7361391365,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11033.4584270788,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11485.4071848889,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,11313.7722612831,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,11008.4701168124,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10978.3437119429,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11008.9655202608,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11407.4146808024,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,11899.7273103292,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,12337.0958661135,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,12720.2531438299,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,13114.4674433346,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,9.8939073141896,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.0895982059643,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.217059943655,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.3925217768205,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.7406337215536,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,11.1554771983097,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.4346873805887,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,11.5573503482281,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,11.5773111130995,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.7821292250653,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.6970747384896,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.6884376582752,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.832990258449,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.882875764424,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.948219035979,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,12.0440006487497,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.0970192694576,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.084857962402,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,12.0111383218917,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,12.0598398914975,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,15903.6135152923,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15466.5036558735,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15225.0298670373,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14887.0790342016,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14498.9089243802,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14023.1393078729,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13584.8980893721,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13994.7808355663,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15206.274324884,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16995.6048443858,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17680.4246778152,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17139.3621682899,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,16791.8815067327,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,16549.4596179196,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,16285.2761266586,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,16265.9802602064,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16063.3280117331,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,15728.2979634091,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,15353.2812793493,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,15080,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,6.14903427641004,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,6.25134025008291,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,6.29828108965483,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.30831801533845,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.34050357589249,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.35798309706525,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.42300293216023,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.47136270925649,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.69776817675252,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.85869976001739,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,7.01613347265206,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,7.09892287693855,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,7.19630449873992,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.14475980728746,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.24109079897303,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.43205795553583,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.62744612473091,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.7834256915096,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.98444663338199,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,16765.3334020715,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,17096.9635183489,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,17312.9491933776,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,17610.2164807674,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,18200.0981371639,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,18903.0570659062,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,19376.1834515325,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,19572.3768237594,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,19610.3519614963,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19953.6231810057,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19820.8793446285,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,19797.0738609506,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,20051.2127657372,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,20135.7440392991,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,20246.3754940665,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20408.7721266657,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20498.6128263385,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20478.0048475409,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20353.0850605133,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20435.6100466149,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,10.0328489821954,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.2106806602215,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.32348758414,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.4263111482613,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.3600939645605,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.1881054812934,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.1870555001257,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.2628385452836,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.296150513468,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.5085132299981,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.5396778145822,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.3715272675998,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,10.3336998562757,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,10.2060024068459,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,10.2518008036033,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.2685793916523,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.4345084557314,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.477880551771,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.4848280277358,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.4708314851775,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,3180.8732934962,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3437.58045366545,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3837.68661408509,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4421.6265900163,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4926.45912174953,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5134.1189722462,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,5482.42412727777,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6171.61490923753,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6757.32828977579,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6762.63075434844,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6567.44337403147,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6255.78627534546,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,6278.39633223634,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,6740.46255811295,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7485.64854872126,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8264.35781944256,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9098.45623121944,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9616.21552262483,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9890.15834338654,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,10443.5444229378,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2212.65513617403,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3180.84043535385,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3777.16583321783,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3608.95197020003,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3583.78612380654,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3721.71116806842,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3926.49942009194,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3811.6146922142,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3786.48964797731,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3765.10589591301,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3691.19541087304,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3769.0656640085,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4253.47348768122,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4405.79364907698,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4573.55128236332,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4734.17831634919,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,4985.02344906115,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5601.24610734995,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5887.59027736622,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,6151.51723663387,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,3165.69756785978,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3381.46031967173,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3318.23829197267,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3469.19820453461,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3456.35774967606,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3485.11514399929,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3643.55487431747,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3702.47766764985,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4275.95659685223,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4668.39394305312,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4697.17743446253,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4742.22889049382,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4955.83616960607,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,5234.30188333421,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,5493.06054018109,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5772.39607029614,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6143.08449316602,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6506.10978006082,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6709.7703818889,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7032.39459547452,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.54688707812487,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.87085309864014,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.07458504288681,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.25549847862827,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.35552005939078,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.48192842531536,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.6427156389921,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.6635450201842,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.50430470352152,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.47903399242235,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.44305446305732,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.39709686327759,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.32079778014007,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.33545639460557,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.39855359893734,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.59908283622451,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.75509900932361,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.0236312035089,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.28291577154968,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.53214359689956,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,12942.3478838991,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,13157.6791769698,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,13256.4791914749,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,13277.6046850147,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,13345.3481228952,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,13382.1386226212,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13518.9908968688,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13620.7774588935,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,14097.3105519666,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14436.0356984683,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14767.3986061997,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,14941.6518666649,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,15146.6184956015,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,15038.1283980743,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,15240.8836845717,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15642.8270245392,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16054.0756116258,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,16382.3778661398,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16805.4821854055,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,3.10013159209378,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.31142559884931,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.24951298679944,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.39734631074813,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.38477179947201,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.41293358837847,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.56809181271077,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.62579423348484,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.18739562076529,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.57170504666454,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.59989239215042,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.64401077020725,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,4.85319394708437,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.12589225067727,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.37929165779787,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.65284176267709,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.01585271553297,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.3713592465603,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.57080175559912,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.88674397543264,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,15193.3660227325,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15019.1230588895,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14861.2387745254,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14652.580689243,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14676.0207455034,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14804.9842852465,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,15131.6127874964,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,15282.651419698,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15899.9320621657,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16839.6782260047,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17441.0522248584,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17491.2882363953,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,17819.3518796297,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,17936.7339502995,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18052.4556047478,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18332.2017393027,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,18615.5103113673,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,18939.2308145339,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20946.04921687,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21280.4721620123,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.01556268620527,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.03793024270591,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.0957211755314,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.36865660083765,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,7.62438968395399,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,7.82464096657319,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.12613719952849,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.66198721972536,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.94567035806951,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.18314214056988,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,9.20127583949544,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,9.01925906324488,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.22813114574868,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.33602731911342,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.4720813274667,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.8273197344747,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.0979251019421,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.2420715558308,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.4421335669694,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.0436853920604,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,18006.8799523724,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,18363.0687348551,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,18595.0490974521,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,18914.3303326905,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,19547.895315748,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,20302.9114396593,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,20811.0749115064,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,21021.7972643769,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,21062.5846278013,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,21431.276588323,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,21288.7024880211,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,21263.1341037538,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,21536.0931102924,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,21626.8842958147,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,21745.7084955593,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,21920.1313118405,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,22016.6251097894,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21994.491019678,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21860.3203739333,, -"FRA","France","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21948.9566975998,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,2.74047143021935,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.03120301349845,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.27611361487037,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.45085460546529,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.70924665148802,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.03281245875753,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.17751781539055,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.57366523428419,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.73356675232001,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.88761574942109,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.87863330193234,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.92945428584549,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.11427392104029,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.35721933220319,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.67074153276843,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,6.03087163247948,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.45451535119875,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.79339698672049,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.79138991523297,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,8.60689491569257,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,1919.25576938497,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1930.2325025697,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1943.92675664181,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1943.13428526623,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,1935.08522603997,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1944.42415861344,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,1951.35008451593,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,1949.8979231494,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,1929.21348167512,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,1916.84618887962,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,1929.61466966553,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,1942.65395263556,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,1945.69179661969,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,1954.17106295411,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,1951.89262928836,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,1991.53952742409,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,2058.27188398341,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,2127.02882601935,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,2238.45929655948,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,2510.34,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,4.82086045218816,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.04993966511372,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.23876989743012,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.41088651621563,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,5.58835758666692,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,5.72434731456899,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,5.77359610250987,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,5.70948671569679,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,5.83884232874357,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.00622457246434,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,7.0820980140868,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,7.29328660996633,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,7.27306967157325,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.33985448629082,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.37226991063969,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.43038936628481,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.43447829527278,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.46163460735788,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.67879826431265,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.94862754354327,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2209.46838409991,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2387.77990487809,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2665.69789473903,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3071.30880595328,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3421.97084596925,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3566.2135843573,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3808.15004552813,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4286.86928482215,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4693.71202171758,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4697.39516994453,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4561.81594185411,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4345.33560997953,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4361.04079571115,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4681.99690531858,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,5199.61101144777,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5740.51074410361,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6319.88436260551,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6679.52546722707,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6869.80906096899,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7254.19691114504,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,22598.3662364267,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,23001.0415543048,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,23253.6042688662,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,23486.4142684618,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,23337.1250103471,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,22949.7041290235,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,22946.1617310358,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,23118.6708850397,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,23193.3889201703,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,23671.039991354,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,23741.470535856,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,23363.2044324841,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,23277.2188488747,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,22990.4447847617,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,23093.4109340019,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23131.5071713558,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23505.1106036633,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,23601.9873979574,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,23617.9894987766,, -"NLD","Netherlands","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,23586.2152347091,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,6465.98874922417,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6906.68767759998,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6777.5556581817,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7085.89373384611,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7059.66689604163,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,7118.40434147509,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7442.02006651103,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7562.37082983981,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8733.71086616761,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,9535.27052590032,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,9594.06127505659,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,9686.07960643226,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10122.375946776,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10691.1466942697,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11219.6654576927,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11790.2128192979,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,12547.3499495402,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,13288.8349999686,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,13704.8150902496,, -"POL","Poland","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14363.7802916167,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,6187.69391174235,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6843.9576600169,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7396.79909451838,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7791.22903719779,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,8373.43211883298,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9102.82839437233,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,9430.53000758399,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,10324.8122791137,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,10685.7816706839,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,11033.5392994958,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,11013.2618897211,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,11127.9876275844,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10676.7634995403,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,11183.9460905262,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11838.4676196761,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,12590.2896696961,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13474.7052998842,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,14182.1682032531,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16265.6182953777,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,17968.0992647248,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.79784209644092,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.8654065829815,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.9191542188788,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.94558428770686,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.99996395084692,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.03833127978471,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.09094138015422,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.12854980738623,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.12631549717911,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.26568497122919,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.32380985141966,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.36211141395381,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.42918032252918,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.54662767783267,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.6283744745423,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.69937684753221,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.84780496326402,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.93249986345851,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.002180957372,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.12420680562372,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,3.36847007018052,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.38929717918975,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.40677205207829,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.38198272771565,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.3826131453231,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.39426319892294,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.38857646642627,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.45581290569722,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.56084433413853,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.79314817429709,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.94852181501845,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.88951613684206,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.78455754388938,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.7742005086602,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.78472785664293,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.92170908658524,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.09095925997509,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.24132043184453,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.37304452706308,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,4.50856987120887,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,2.54205529260509,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.07444033138461,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.40924037882747,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.70654194875681,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.87091101767443,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.07864244175333,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.34286986551955,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.37709953842189,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.11541418627636,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.07388591585121,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.01475945837335,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.93923567812617,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.81385064462666,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.83793967414357,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.94162958434348,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.27116650799911,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.52755350881323,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.96884214268754,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.39493381919044,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.80449888793684,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,23291.3838166071,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,24123.1288668022,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,24075.1758367746,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,24975.9818092634,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,24939.6432955293,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,25441.0880490461,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,25294.4500416437,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,25768.5385980794,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,25439.8542080307,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,26499.8217202652,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,26341.4523210377,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,26276.6306864137,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,26074.8837295615,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,26047.8203621891,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,27167.346067303,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,27225.2642184499,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,27146.3136894698,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,27733.9587254709,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,27600.9721018888,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,28073.0703612321,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,7223.87820670387,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,7567.14479785996,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7850.09980423815,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,8108.05085918672,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,8374.02520463153,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,8577.65538274932,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,8651.58509575575,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,8555.45024613011,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8749.20921808629,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,9000.15241499764,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,10612.3074373738,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,10928.6426133367,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10898.4215613355,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10998.4960962368,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,11047.1044085115,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11134.1592113635,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,11140.2863177791,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,11180.9790308313,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,11506.3906091839,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,11910.719643201,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.62930292749116,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.75550645763822,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.97445254586865,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.29542367947242,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.52107617166292,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.63793533357616,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.82767866460198,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.20395129589241,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.64577815792521,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.64863899414527,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.54332963853219,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.24392437484943,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.24744637874294,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.33512470323297,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.74282427436063,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.13217890972128,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.47869744715065,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.73990765122288,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.89562837997634,, -"EST","Estonia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.1734224687701,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,11287.8095847737,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,12182.6303526812,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,11793.3922119385,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,11954.5137411781,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,12003.8157877444,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,11848.6677514078,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,12180.7944694322,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,12739.2808837009,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,12515.0434880709,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,12336.0868630573,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,12010.8727768551,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,12015.2464208793,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,12305.1795847222,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,12552.693075947,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,12492.1025134965,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,13339.070080975,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13926.5200345223,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,14662.3671349648,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,15416.4875824597,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,15287.8257707071,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2935.81113601953,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3046.16191002385,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3133.9203223922,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3177.07981890774,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3265.88015072215,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3328.53282901722,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3414.44351878317,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3475.85693373242,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3472.20837329066,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3699.79447489214,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3794.71063195426,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3857.25591571748,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3966.77739841928,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4158.57227660319,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4292.05537501686,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4408.00008517212,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,4650.37867243231,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,4788.68286201306,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4902.46996372372,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5101.7401439527,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,3328.74434533201,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3741.70619728029,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4185.88840511675,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4547.67172926675,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4782.41951452068,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5035.10279601624,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,5305.3655554335,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,5316.01500909944,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4998.19649767289,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4947.76015119637,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4875.95069549902,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4784.22658783053,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4631.94567346043,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4685.18238021687,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4835.02899390532,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5217.06809307611,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5575.90736469582,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6047.26240701779,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6565.83154309935,, -"CZE","Czech Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7064.28719379913,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,8.51191800013889,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,8.39228384160948,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,8.42457817350199,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,8.51594321559797,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,9.11999329509322,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,9.51859089564316,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,9.42969189689547,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,9.96479511144548,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,9.76795239640037,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.2258777758938,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.3210477264914,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.0636999161624,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.89584569355943,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.84575885425417,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.82781892591283,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.85639054003416,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.4252581401106,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.5034279005069,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.7913777465651,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.9708533532749,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.64596803619823,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.4358190653238,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.31972589761409,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.15724953567385,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.97062929056738,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.7418938980158,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.53120100450582,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.73229104512705,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.31459080441086,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,8.17485971339832,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.50020417202655,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.24007796552402,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.07301995515997,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.95647097015367,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.82945967627817,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.82018281740692,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.72275385179474,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.56168171317743,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.38138523045639,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.25,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,11.6508220202377,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,11.5456716509221,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,11.6580974359845,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,11.8094984812672,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,12.018709232494,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,12.1148555513989,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.9312859021233,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,12.3243479457843,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,12.1071258506935,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,12.26497543081,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,12.2086669453833,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,12.3019030907692,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,12.4690547690565,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,12.5033772183061,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,12.5393678435849,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,12.6949399104087,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.8431052725594,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.9575540952844,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,13.1454097207364,, -"AUS","Australia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,13.3541234071158,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,10.5051037500576,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.8775577798987,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.8432365894368,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,11.2446626696605,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,11.2338804883853,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,11.4582147012411,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.3961486525056,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,11.6117393336411,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,11.4523334016652,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.9401922982468,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.8675179001281,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.8372812011371,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.7458736636241,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.7576166644306,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,12.2384542973822,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,12.2688930182244,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.2333144619974,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.4901852163501,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,12.4299987252094,, -"LUX","Luxembourg","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,12.5310790651417,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,22620.687139195,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,22743.5521778125,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,23048.4391940075,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,22915.1041334669,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,22666.8834896264,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,22493.8774359758,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,22536.3639027401,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,22796.4965952881,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,22704.4765064287,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,23829.4490440004,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,23318.9279401725,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,23203.3868097557,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,23013.9709410724,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,23445.0125407251,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,23365.5689442845,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23235.1202057635,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23013.7825951446,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,22986.1010981751,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,22746.8140192036,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,22872.6486905378,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.9988924216709,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.87405425714203,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.41316053136487,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.26115743077778,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.23805726673063,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.36258031011641,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.54785721873086,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.44375260662408,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.42174029088868,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.40204045409171,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.33560859335582,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.40596188787934,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.84318018927591,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.98089815301839,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,4.13232620546538,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.25897780039645,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.48805540639994,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.97730940068712,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.23170288363684,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.53337270701426,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,6.87432663039201,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.08050718154839,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.58357123555828,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.75653941186517,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,8.20073327717058,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.57818041609174,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.76017049451767,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.99421701730435,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.98188577693049,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.09281945849106,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.99421701730435,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.86580307970298,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.84686857563828,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.80437425856102,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.87600167863222,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.10460058978945,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.9090203682993,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.96893253295641,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.1628481306162,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.4702455478891,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.16727103116442,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.08507419964811,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.01059436049293,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.91216264708425,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.92322018600965,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.98405704343112,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,7.13813975286005,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,7.20939024544643,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.50058428765131,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,7.94389720768846,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.22758749951918,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.25128567868969,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.40604539704398,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.46141884841949,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.51600902023293,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,8.64797558796229,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,8.78162268883516,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,8.93433358785972,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,9.88102383269093,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.038783468264,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,4.02292427492455,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,4.02159784320678,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,4.08733121083565,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,4.14925972011324,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.23840089298713,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.32069578733025,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.4461350560626,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.55252521131259,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.64315465714324,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.85055998425748,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.71356069671767,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.59894074760631,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.68212809017775,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.59421267028433,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.64196644847617,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.70630968657487,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.73716588039429,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.69572720599019,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.6727497301904,, -"GRC","Greece","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,4.03010939508058,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,9.21173769194414,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,9.39393599909283,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,9.51260944691074,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,9.67597345778544,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.0000836217967,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.3863242818048,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.646283353423,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.7604888989701,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.779073399945,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.969769619555,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.8905795084112,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.8825379415323,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.0171238632723,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.0635698406883,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.1244077946315,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.2135854131937,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,11.2629484819229,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.2516256781983,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,11.1829888929971,, -"FRA","France","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.2283325646273,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,10.5604232692154,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.747606171496,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.8663450129149,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.9745755226233,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.904876328624,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.7238438837069,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.7227386896014,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.8025067629491,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.837570430765,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.0611001756199,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.0939035403273,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.9169108483974,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,10.8770942942491,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,10.7426819136013,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,10.7908886050074,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.8085494899635,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.9832038829929,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.0288566874021,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,11.03616949426,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.0214369478035,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,15903.6135152923,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,15466.5036558735,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15225.0298670373,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14887.0790342016,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14498.9089243802,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14023.1393078729,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13584.8980893721,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13994.7808355663,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15206.274324884,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16995.6048443858,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17680.4246778152,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17139.3621682899,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,16791.8815067327,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,16549.4596179196,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,16285.2761266586,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,16265.9802602064,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16063.3280117331,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,15728.2979634091,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,15353.2812793493,, -"USA","United States","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,15080,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,4152.48527516154,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,5969.47660505483,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7088.59923440264,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,6772.91262882196,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,6725.68393742875,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,6984.52758007782,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7368.85326515686,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7153.24933616947,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,7106.09721809838,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,7065.96637523769,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6927.25872225061,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,7073.39766375652,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7982.48481524645,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,8268.34374417102,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,8583.17414436703,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8884.62256374093,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9355.38310066467,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,10511.8468771164,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,11049.2283832452,, -"HUN","Hungary","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,11544.5395567579,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.30450289554448,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.22073223985072,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.14482633390644,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.04450994675144,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,7.05577920456896,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,7.11778090636853,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,7.27481384014251,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,7.34742856716248,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.64419810681044,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,8.09599914711763,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.38512126195116,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.40927319057468,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.5669960959758,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.62342978379785,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.67906519459027,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,8.81355852851093,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,8.94976457277272,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.10539943006439,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.070215969649,, -"CAN","Canada","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.2309962317367,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.51780020376839,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.62124809847275,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.59093616738416,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.66331420765358,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.65715782518715,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.67094561698596,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.7469098712481,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.77516052558554,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.05011617657299,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.23827106858711,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.25207137268751,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.2736713858532,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.37608583474264,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.50959679337942,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.63365916310052,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.7675871569913,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.94531448302481,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.11936770276889,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.21701319679605,, -"POL","Poland","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.37169603892614,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,12789.9912949329,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,13002.7877201725,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,13100.4246664821,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,13121.301471904,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,13188.2474378564,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,13224.6048418957,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,13359.8460988933,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13460.4344352535,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,13931.3578076452,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14266.0955008362,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14593.5576231163,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,14765.7595840322,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,14968.313357379,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,14861.1003991579,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,15061.4688618639,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15458.6805475145,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,15865.0879394403,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,16189.52543834,, -"JPN","Japan","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16607.6489974345,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,14907.923744822,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14736.9543352681,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14582.0362698253,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14377.2983059352,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14400.2979869001,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14526.8386503367,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,14847.3306859489,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,14995.5317105286,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15601.2153183147,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16523.306191992,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,17113.3819989999,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,17162.6742116746,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,17484.5744258515,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,17599.7512047125,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,17713.2987620845,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,17987.7892229616,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,18265.7751927771,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,18583.4138627482,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20552.5295719971,, -"CAN","Canada","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20880.6696139892,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,17704.7894402889,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,17455.9503905477,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,17523.1226008841,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,17713.1618884438,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,18969.5860537939,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,19798.6690629378,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,19613.7591455426,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,20726.7738318066,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,20317.3409845128,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,21269.825773859,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,21467.779271102,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,20932.4958256179,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,20583.3590426036,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,20479.1784168487,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,20441.8633658987,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20501.292323271,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,21684.53693143,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21847.1300330544,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,22446.0657128554,, -"IRL","Ireland","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,22819.3749748118,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,21701.730407484,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,21503.4358918372,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,21715.2672684955,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,21998.6084725614,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,22384.7140081338,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,22566.2196534044,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,22220.8025358654,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,22957.7507616892,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,22555.6680367786,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,22845.8337484172,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,22731.0488525345,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,22903.0456022785,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,23214.9749398414,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,23283.7668809546,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,23356.4926673246,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23641.3953978696,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23915.4195797544,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,24128.7310458395,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,24481.1931444895,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,24874.8720543001,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,1059.70502160079,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1065.76575590321,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1073.32695229964,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1072.88939420573,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,1068.44515669592,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1073.60158967497,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,1077.42569617248,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,1076.62389439242,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,1065.20310991494,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,1058.3745868551,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,1065.42462334469,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,1072.62418155983,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,1074.30150804032,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,1078.98328170353,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,1077.72525886181,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,1099.61604471512,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,1136.46189636095,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,1174.42561016485,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,1235.95124477505,, -"MEX","Mexico","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,1386.07,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,4.66276313868371,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,4.59593997729253,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,4.55117328681176,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,4.5061633471769,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.45985045589693,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.70547745675544,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.89638503475228,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,5.02607993549742,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,5.08143631177818,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,5.29844002104165,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.27929168508674,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.18800657577879,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.0641377568568,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.01697087870331,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.0245514352055,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.07314867185557,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.14188186704521,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.4443982309818,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.5688914628187,, -"ESP","Spain","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.76162798507964,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,3.42885857592291,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.95704339080225,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.16892559421861,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.37267227437535,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.40041944510162,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.58488635188267,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.54549444427048,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.51601483896385,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.44386966745801,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.55770865465465,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.60120938477891,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.73931643798819,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,4.86789112332692,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,4.95762268130146,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.02092433473243,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.38649016823951,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.46371128046396,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.27640155319366,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.16012097345314,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.74117553449225,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,14597.07881864,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14646.6026771932,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14754.4529733027,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,15319.6039437915,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,15849.8010772287,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,16276.7531416479,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,16893.9812652102,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18016.9334170288,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18610.9331666188,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,19093.2212195694,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,19134.8833257908,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,18756.4344197774,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,19187.3399457943,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,19415.3906336858,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,19793.0120484333,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20433.8391198032,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20996.7431399271,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21296.693894082,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21716.2839530488,, -"NZL","New Zealand","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,22475.8038565311,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2751.82141372137,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2373.16738032062,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2543.21288427981,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2706.72924548729,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3531.54502883725,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3679.58845873183,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3647.97458709077,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3624.31580754224,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3566.41589028102,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3657.77706944536,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3692.68846576512,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3803.52591735204,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3906.71319222598,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,3978.72701760064,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4029.52959273701,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4322.91348900894,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5187.43445372505,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5037.10952573878,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4943.7888529129,, -"TUR","Turkey","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5410.11265956845,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,14278.9043507316,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14727.4549376207,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,15754.7315256877,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,16114.7543108189,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,17048.2346254383,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,17842.6152654708,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,18203.3952186274,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,18715.9810883276,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,18691.0301688333,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,18905.1576741323,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,18716.6107811212,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,18432.5540745852,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,18394.5365605415,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,18313.6646555084,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,18455.3846223636,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,18937.5692267621,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20610.7623660625,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20721.4258464305,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21132.1674354684,, -"GBR","United Kingdom","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21764.4426850764,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,13859.5705633368,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,13853.750362131,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,14080.7826943345,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,14297.3702553614,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14606.4120642844,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,14890.0131975384,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,15320.2986823182,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,15688.5943462051,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,15997.4877053082,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,16712.083040128,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,16241.6873268234,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,15844.4149087883,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,13073.9225156983,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,12761.1743192572,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,12930.7230754974,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,13159.1723501971,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13268.7265987295,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,13121.5994818502,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,13040.0184511778,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14307.4389126499,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.922719119896622,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.927996395466202,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.934580171462411,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.934199175608766,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.93032943559614,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.93481930702569,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.938149079094195,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.937450924591057,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.927506481574575,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,0.921560667730587,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,0.927699360416118,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,0.933968246459403,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,0.935433898705191,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,0.939505318727938,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,0.938409917927095,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,0.957477891844078,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,0.989553790376641,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.0226100125093,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,1.07618235411513,, -"MEX","Mexico","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.207,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,10054.9375145639,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,10532.7313015229,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,10926.57721464,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,11285.6200535567,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,11655.8305343263,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,11939.2639835716,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,12042.16697051,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,11908.356588012,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,12178.0502761057,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,12527.3388566229,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14771.3022167387,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,15211.6100869647,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,15169.5453149956,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,15308.8393571208,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,15376.4974112333,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15497.6692496797,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,15506.1975872832,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,15562.8378953464,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,16015.779236995,, -"SVN","Slovenia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,16578.5660193902,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.24982453410634,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.38004982385761,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.54917357678134,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.84175766933939,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.99904275955845,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.1326505243682,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.28824437705802,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.49626659315421,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.61296198267158,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.87172132464488,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.99010795169149,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.0814347782703,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.17952655496607,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.17952655496607,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.13173112357971,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.21939343643947,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.37147571546536,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.59442567494858,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.75116629341574,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.83233790882326,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.96413564243702,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.2254986097511,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.53239624220429,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.53438340943702,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.46123441219379,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.25326433507919,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.25571075640232,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.31661305211076,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.59980550572388,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.87025537205181,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.11095082965465,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.29239021256937,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.40055548517965,, -"EST","Estonia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.59351421061352,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,7433.62616459192,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,8222.03286984105,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,8886.19250847183,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,9360.04347521666,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,10059.4769188355,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,10935.7418594648,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,11329.4283153392,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,12403.7801153787,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,12837.4330322919,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,13255.21391243,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,13230.8535148405,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,13368.680023213,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,12826.598993969,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,13435.9060851656,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,14222.2197641832,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15125.4260542585,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16187.9245008065,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,17037.839642695,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,19540.8059074043,, -"KOR","Korea","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21586.092448557,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,13174.0454382073,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,14218.3941550183,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,13764.1128426063,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,13952.1583913316,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,14009.6989971315,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,13828.625134661,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,14216.2514887055,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,14868.0631039654,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,14606.3547878578,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14397.4938311158,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,14017.9352359255,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,14023.0397324774,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,14361.4218291831,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,14650.2957648634,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,14579.5802893007,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,15568.0793541415,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,16253.6944260989,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,17112.5043718193,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,17992.6412102879,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,17842.4795211258,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,5.05859451483967,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.45917257820882,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.2830985118391,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.35564375784123,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,5.3777311637917,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,5.30822456316057,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,5.4591117035315,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,5.70779583283734,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,5.60890053989004,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,5.52699241296412,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.38128528500841,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.38436364623728,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.51262161717175,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.62438495961035,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.59723663007826,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.97639066824322,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,6.23937493894959,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,6.56874047646421,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.90833169968711,, -"ISR","Israel","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.85067664253386,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,10.1523514951303,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.2078559687969,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.3441522680828,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.2847947112559,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.1729990453,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.0954382514188,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.1145065291295,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.2312562332331,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.1899568562087,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,10.6948538362835,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,10.4657277421092,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,10.4139447824368,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,10.3290022057337,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,10.5221754262269,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,10.4865209578496,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.427975264668,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.3289462184162,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.316619002346,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.2090236157067,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.2653695153324,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,3224.35221271254,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,3319.22876374919,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,3611.13251503149,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,3729.09947908677,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3764.0464824747,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3910.6626135171,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,4012.23024614117,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4263.31716371614,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4273.75917793596,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4622.3807495487,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4767.59342424454,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4726.44734440642,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4708.72708396459,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4792.71165773087,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4999.46822129587,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5414.76307386146,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5801.16413160268,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6150.19279211733,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,6619.9906108001,, -"SVK","Slovak Republic","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,6985.52295147301,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,4218.49342081409,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,4377.05744027963,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4503.1582921549,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4565.17456079789,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4692.77255609438,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,4782.79875292341,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,4906.24459557615,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4994.49008375983,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,4989.24743445241,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,5316.26795034849,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,5452.65382993827,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,5542.52571059877,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,5699.89811393455,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,5975.48989905928,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,6167.29296347962,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,6333.89496010237,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6682.17093165879,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,6880.90146532944,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,7044.40317497645,, -"CHL","Chile","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7330.73628882931,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.80651612844452,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.69679632286634,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.72641435052733,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.81020776520621,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,8.36419885016391,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.72976376718984,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.64823202927659,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,9.13899003172669,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.95846011711269,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.37843618602933,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,9.46571918784765,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,9.22969837186706,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.07575460784625,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.02981857805215,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.0133653720958,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.03956919201632,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.56129344909608,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.63298510487573,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,9.89707189675973,, -"IRL","Ireland","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.0616739545356,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,10.982550258818,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.8834311396918,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,10.9894083688255,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,11.1321253021172,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,11.3293360728286,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,11.4199675988909,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,11.2469271991954,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,11.6174438581781,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,11.4126812609539,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.5614768518531,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.5083981274401,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.5962864026932,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.7538505388929,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.7862043095741,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.8201305724836,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.9667792844623,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,12.1064461280215,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,12.2143303567442,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,12.3914108961555,, -"AUS","Australia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,12.5881531128321,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,6.22228263648994,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,6.32580729662008,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,6.37330730359372,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.38346379087246,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.41603275139191,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.43372049164482,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.49951485426385,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.54845070139109,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.77755314998394,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.94040177810974,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,7.09971086836525,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,7.18348647435812,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,7.28202812288535,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.22986942215111,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.32734792527483,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.52058991564382,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.71830558251239,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.87614320487492,, -"JPN","Japan","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,8.0795587429834,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,7151.61931549635,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6167.54764367326,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6609.47338222738,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7034.43074369717,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,9178.01769978337,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,9562.76296249814,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,9480.60269804986,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,9419.11666412459,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,9268.64244926958,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,9506.07805113684,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,9596.80814539601,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,9884.85999923251,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,10153.0300572247,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,10340.1844495716,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,10472.2136124419,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,11234.6794937567,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13481.4549563963,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,13090.7803823753,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,12848.2523160594,, -"TUR","Turkey","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,14060.1661147981,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.06511144300142,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.53144213460474,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.81870534869438,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.73771037365132,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.7254014325622,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.79175363690779,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.89047858746026,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.83500636073009,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.82327708049342,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.81278000652875,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.77738173582515,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.81486954569298,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.04784167108523,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.12122479941104,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.20191335958772,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.26939976434516,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.39146395191447,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.65216333833459,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.78771711140269,, -"HUN","Hungary","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.94846212069084,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,21174.9045469861,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,21289.9167678296,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,21575.3171814342,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,21450.5041214975,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,21218.1482957185,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,21056.1997815306,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,21095.9707607559,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,21339.4772864577,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,21253.3385858067,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,22306.4094299627,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,21828.5178621135,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,21720.3614479085,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,21543.0519385036,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,21946.5438692421,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,21872.1778448527,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,21750.0666300404,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,21542.8756305507,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,21516.9633736666,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,21292.9701313141,, -"BEL","Belgium","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,21410.7621832446,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,5.6967012745475,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,5.69482296793748,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,5.78790534621781,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,5.87559981760804,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.00182904749701,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.11836353769743,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.29599304131996,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.44664786144414,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.57498457481284,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.86868291725598,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,6.67468373591301,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,6.51237503568188,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.2141135032317,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.08962001284191,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.15724221761109,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.24835608937103,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.29205030448575,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.23337066421392,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.20083318482599,, -"GRC","Greece","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.70687583423428,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,6.80488535378303,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.00898316411925,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.50696549711052,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.67818642868767,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,8.11789325246492,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.49152759449871,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.67167929310135,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.90336158587656,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,8.89115491000476,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.00096799068604,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.90336158587656,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.77624482663764,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.75750159019885,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,8.71543653111079,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,8.78634040402495,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,9.0126301144305,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.80892401540316,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,9.86823097500937,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.0601877267516,, -"GBR","United Kingdom","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.3644799571125,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,5.90390487113271,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,6.37142105031179,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,6.1659243387112,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,6.25059217085174,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.2763704662259,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.19524904863883,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.37135000324468,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.66159019507565,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,6.54616912306625,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,6.45057383703874,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,6.2805184945967,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,6.28411126167873,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,6.43380162668827,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,6.56424104813263,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,6.53255612962464,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,6.9750682476181,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.28199818879047,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.66640195857503,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,8.0627401649875,, -"ISR","Israel","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.99545072880637,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,4871.1639725191,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,5014.49795303911,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,5455.48917945766,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,5633.70681430163,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,5686.50271643033,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5908.00184810336,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,6061.44432590147,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6440.77185161031,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6456.54703996211,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6983.22425375642,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,7202.60312512869,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,7140.44201849536,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7113.67127865262,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7240.55029278907,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7552.90609546746,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8180.30942808549,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,8764.06169435197,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9291.35391440545,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,10001.0971613476,, -"SVK","Slovak Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,10553.3221824406,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,10.845534929751,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,10.9048291443177,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,11.0504314981577,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,10.987021119171,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,10.8675922557496,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,10.7847357569747,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,10.8051059807658,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,10.9298271347272,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,10.8857079140411,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,11.4250783087673,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,11.1803079165211,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,11.1249893139133,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,11.0342470180917,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,11.2406097421716,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,11.202520853861,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.1399777710401,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,11.0341872080656,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.0210183129047,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.9060765159588,, -"BEL","Belgium","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.966269607464,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,23786.6943948745,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,24210.5442708575,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,24476.3879183122,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,24721.4401603423,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,24564.3005723712,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,24156.5072828111,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,24152.7786089115,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,24334.3591038765,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,24413.0061639711,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,24915.7743702548,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,24989.908483341,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,24591.7513729236,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,24501.2442637688,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,24199.3902734376,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,24307.7708660596,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,24347.8703823721,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,24741.1196365969,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,24843.0906674103,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,24859.9342337938,, -"NLD","Netherlands","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,24826.4891297944,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,12341.7818379554,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,12156.6467706118,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,12033.1830495673,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,11915.9385764689,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,11802.8344146831,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,12444.740773689,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,12956.2936018609,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,13297.1095700918,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,13434.6870276649,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,14012.4298632846,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,13969.8286248906,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,13710.3034138024,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,13382.9562784193,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,13277.3135539801,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,13297.3753458515,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,13432.6017767841,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,13594.3554505089,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,14404.5711425066,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,14731.7883338126,, -"ESP","Spain","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,17891.7040712147,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.28218526653398,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.30540288965031,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.36539013491982,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.64869832013332,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,7.91415039765477,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,8.12201211953225,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,8.43496655009557,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,8.99118125398844,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,9.28564561313043,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,9.53214237940438,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,9.55096523952979,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,9.36203101635192,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,9.57884116684637,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,9.69083787461396,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,9.83206254031772,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.2008015865395,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,10.4816911613545,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.6313158215112,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.8389810787501,, -"NZL","New Zealand","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.4633945482994,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,2.28114758646906,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.52315034635712,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.72701206921971,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.87246514147484,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,3.08754871638384,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,3.35688243472794,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,3.47733407359292,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.8070841737145,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.94018498181559,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.06841419597929,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,4.06093727497089,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,4.10324027565796,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,4.25708273506391,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,4.45930864853517,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,4.7202821450064,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.02005170243068,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.37268951351047,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.65477201086648,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.48549373818886,, -"KOR","Korea","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.16431390140544,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,3.46350324978953,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,3.62808312226162,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,3.76374648148404,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,3.88740209740958,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.01490457032864,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.11260515079514,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.14798749358916,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.10192868898959,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.1948630501082,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,4.31511729742224,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.08806876498241,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.23979528671055,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.22527061159919,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.27325155299024,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.29654011914749,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.33829551229758,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.34123316605845,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.36074337094653,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,5.51676262084157,, -"SVN","Slovenia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,5.71061900701417,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,11.2336363337298,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,11.6319201795456,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,11.5952188026374,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,12.0244839205648,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,12.0129539912837,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,12.2528458595026,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,12.1864755087897,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,12.4170174783351,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,12.246556689764,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,12.768248769801,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,12.6905343770009,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,12.6582007524619,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,12.560454070562,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,12.5730114525418,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,13.0871953418842,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,13.1197449985597,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,13.0816990571352,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,13.3563838872734,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,13.2920234421255,, -"LUX","Luxembourg","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,13.4001137386429,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,4.69774816851868,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,4.72679414819645,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,4.75116501995629,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,4.7165932408705,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,4.71747243620224,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,4.73371987697551,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,4.72578902510076,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,4.81955855633067,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,4.96603787492846,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,5.29001431435286,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,5.50670207494672,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,5.42441135814944,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,5.27803361764978,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,5.26358945093151,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,5.27827113985107,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,5.4693084086039,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,5.70534871043179,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,5.9150459632051,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,6.09875150731569,, -"PRT","Portugal","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.2877583632426,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.25118717063623,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.29820788447843,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.33561292278511,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.35400661993024,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.39185151020122,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.41855280384296,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.45516618760926,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.4813393324887,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.47978439044351,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.57677694515951,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.6172282754143,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.64388379969695,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.69055962185297,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.77229573453593,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.8291864611944,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.87859973188462,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.9818965422847,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.04083896706797,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.08933270904512,, -"CHL","Chile","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.17425517032289,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,5470.24556636538,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6148.88066276921,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6878.82129533331,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7473.35287229016,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7859.12236921779,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,8274.36591359935,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,8718.49844769712,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,8735.99907876302,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8213.71646325427,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,8130.83259712507,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,8012.82553022539,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,7862.09199792332,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7611.84328241496,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7699.32908153038,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7945.57742298489,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8573.3960451473,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9163.08955446357,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9937.68428537509,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,10789.8676383809,, -"CZE","Czech Republic","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,11608.9977758737,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,7.64596803619823,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,7.4358190653238,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,7.31972589761409,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,7.15724953567385,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,6.97062929056738,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,6.7418938980158,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,6.53120100450582,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,6.73229104512705,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,7.31459080441086,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,8.17485971339832,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,8.50020417202655,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,8.24007796552402,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,8.07301995515997,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,7.95647097015367,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,7.82945967627817,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,7.82018281740692,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,7.72275385179474,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,7.56168171317743,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,7.38138523045639,, -"USA","United States","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,7.25,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,7025.66614637651,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,7069.10554516719,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7105.55313719186,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7053.84968923551,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7055.16456024533,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,7079.46324346785,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7067.6023442605,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7207.83834616848,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,7426.90389691751,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,7911.42333496251,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,8235.48835703849,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,8112.41937112773,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7893.50573439785,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7871.9039180627,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7893.86095814096,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8179.56466630636,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,8532.57217080518,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,8846.18261499002,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9120.92144216015,, -"PRT","Portugal","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,9403.58858852135,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,10.0175642708677,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,9.96854409238371,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,10.2131191736862,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,10.0392229994977,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,10.2879737057751,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,11.5019373410158,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,11.4456534973466,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,11.7264689914379,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,11.5268053960492,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,11.8124152468846,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,20365.1188941875,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,20265.4637548695,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,20768.2160934596,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,20414.6009772591,, -"DEU","Germany","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,20916.2677604682,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,23382.7620297357,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,23268.3402863705,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,23845.5889807791,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,23439.5762216494,, -"DEU","Germany","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,24015.5785062886,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.611026302754027,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.670945615936997,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.698350840533657,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.718037257214525,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.74193480428324,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.785591317013957,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.887756841748465,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.945396062735468,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.982654239286588,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.05516025170082,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.11171960463942,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.11237532402136,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.20629844255539,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.2380891904161,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.24339441045361,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.24122622857821,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.27473963929831,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.31208853277217,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,1.28866608495377,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.29958810326151,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.995273645034375,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.09287355680704,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.13751271170817,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.16957904273078,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.20850469727504,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.27961485465968,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.44602774677424,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.53991371749287,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.60060190884605,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.71870373676601,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.81083075831363,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.81189883053318,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.9648860327453,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.01666857198966,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.02531000961787,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.0217783543217,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.07636686269619,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.13720281882145,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.099051032375,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.11684142359593,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,1433.72957467641,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1574.32596310931,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1638.63036510933,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1684.82313567837,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,1740.89702290746,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1843.33391170775,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,2083.05801795979,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2218.30433291858,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,2305.72798289746,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,2475.85816202657,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,2608.57064374321,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,2610.10924243583,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,2830.49313128174,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,2905.0878503692,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,2917.53617024293,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,2912.44868634245,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,2991.08551078211,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,3078.7220215404,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,3023.76292076653,, -"BRA","Brazil","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,3049.39065658147,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2335.33851709852,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2564.34973865081,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2669.09232711525,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2744.33368240759,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2835.6699503918,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3002.52485539789,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3393.00082010955,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3613.29754426005,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3755.69805039949,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4032.81555376882,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,4248.98502932877,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4251.49118450106,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4610.4647268345,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4731.9687564186,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4752.24527256765,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4743.95849567628,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,4872.04653139785,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5014.79375702034,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4925.27331525134,, -"BRA","Brazil","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,4967.01719750903,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.0689353984896156,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.107476690296865,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.148514198737765,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.159243742310737,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.17674699880008,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.193448437945993,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.262206632946337,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,0.502948200115317,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,0.440754370781396,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,0.743204532062821,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,0.695562714251186,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,0.665705798555659,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,0.650060580617089,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,0.687379280618673,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,0.680249910096787,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,0.632250151008714,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,0.614422504073155,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,0.730714633217526,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,0.984630400215344,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.00248653012728,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.165703980980832,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.258347900136057,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.356992118740466,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.382783339551592,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.424856923573155,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.46500313314361,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,0.630281159908474,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.20896550701461,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.05946662343848,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.78648346631894,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.67196408954707,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.60019530458381,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.5625879946598,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.65229309959545,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.63515582174912,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.51977604095025,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.4769227009614,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.75646077832324,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.36681270704499,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.40973451320187,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,143.779545421198,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,224.165668333462,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,309.758185938768,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,332.136948248108,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,368.643740354453,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,403.478170573071,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,546.888120145216,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,1049.0062459548,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,919.287687629769,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,1550.11230973103,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,1450.7450897239,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,1388.47209413038,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,1355.84063957279,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,1433.67678529038,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,1418.80695534473,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,1318.69317210389,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,1281.50979420972,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,1524.06194928227,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,2053.65769187772,, -"RUS","Russian Federation","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,2090.9004771226,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,345.61116033145,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,538.839905998062,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,744.5835619444,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,798.376679636177,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,886.130154881153,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,969.863677699529,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,1314.58641923767,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2521.55662891618,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,2209.74467174311,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3726.09408689379,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3487.2393867696,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3337.55020670337,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3259.11210314759,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,3446.21132201337,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,3410.46785679103,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,3169.81859969624,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,3080.43877629092,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,3663.47533764561,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,4936.49507469384,, -"RUS","Russian Federation","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5026.01769896389,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.30511975951648,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.28751784163211,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.28390356821712,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.32429879093362,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.45112851669084,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.54205401861589,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.657989124819,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.77079091721849,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.97007867105563,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.88609023246438,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.86153264032218,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.78769587338855,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.7805934635013,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.82228867654381,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.91937306247073,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.39654450599499,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.71520575230455,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.72951893563078,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.80674223846501,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.79501968036755,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,2.30077412322527,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.26974399216473,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.26337244910376,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.33458452175101,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.55817055586797,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.71846162528517,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.92284171407052,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,3.12169813557037,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,3.47301923370012,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.32495739895139,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.28166522433101,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.15149960430663,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.13897888292305,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.21248268709969,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.38363115166101,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,4.22482882842394,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,4.7865914898485,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,4.81182396493581,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.94795965330882,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,6.69017767454161,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2661.82528027868,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2625.92571653032,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2618.55431304361,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2689.66111026828,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2942.84804084157,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3113.76292220515,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3287.39223024456,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,3514.54685860159,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3899.5371633266,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3733.29200652744,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3684.68316434906,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3538.53203804743,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3521.85654929474,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4246.1095375778,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4279.71420314052,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,4617.62801332925,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5344.98930116582,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5364.9165286536,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5498.92356923758,, -"LTU","Lithuania","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7455.70238089907,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,4692.48793511557,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,4629.20118560079,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4616.20625983218,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4741.55926123074,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,5187.8983300819,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,5489.2013587489,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,5795.28960548465,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6195.73675762058,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6874.42982340642,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6581.35897524398,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6495.66724816034,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6238.01983532859,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,6208.6228909221,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7485.3965524653,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7544.63766377525,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,8140.34035289148,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9422.59358451075,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9457.72296556349,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9693.9617697479,, -"LTU","Lithuania","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,13143.5349004269,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.657430300804299,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.704409123305124,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.752831914421804,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.860661708498188,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.962197926457369,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.938842412193203,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.02876753127376,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.3406872048903,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.72877219084003,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.93773702862106,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.89465857233822,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.03574342810061,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.98294085306947,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.94914195895504,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.18249832979605,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.44370927833623,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.50430673287525,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.52823206832572,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.81783220486656,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.76955006374259,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.02563393530309,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.09892394724577,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.17446664394016,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.34268812065972,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.50109121019463,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.46465509221151,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.60494411395626,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.09155904782591,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.6969968119276,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,3.02299552030951,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.95579033279367,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.1758918639373,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.09351642009624,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.04078795179006,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.40483903471232,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.81234506655747,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.90688102830454,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.94420610431868,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,4.39600111185227,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,4.32067783827444,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,1371.21177024897,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,1469.19617146497,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,1570.19227865119,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,1795.09442058194,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2006.8699608968,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,1958.15703114582,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,2145.71513665671,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2796.29045591406,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,3605.72485518063,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,4041.56580255249,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3951.71645087686,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,4245.97915003841,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,4135.84806497347,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,4065.35322867765,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,4552.06794500319,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5096.87935195843,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,5223.26832856837,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5273.16974250794,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5877.19288443596,, -"LVA","Latvia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5776.49013294883,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2139.17935077502,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2292.04137568403,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2449.6018573609,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2800.46379451884,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,3130.84738126308,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,3054.85204946972,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,3347.45486625164,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4362.39458546547,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,5625.16477916329,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6305.10494235984,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6164.93412268394,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6624.00303049781,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,6452.19139048644,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,6342.21487087642,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7101.52141525713,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,7951.4625673913,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,8148.6375733209,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,8226.48701757896,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9168.80231900616,, -"LVA","Latvia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,9011.69949125813,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,0.920294075430318,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,0.937239105052945,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,0.952132723434157,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,0.954911193413492,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,0.972314567045279,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,0.98631668419154,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.01141439394869,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.01863863355754,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.01303519216411,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.04676634418184,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.06080290962173,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.06677696740439,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,1.09406746198832,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,1.11557166405561,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,1.13289121390241,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,1.12870493665536,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,1.12330497658922,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,1.15225159867413,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,1.18193646104095,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,1.21018681378416,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,2.04721888807969,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.08491356158532,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.11804481568756,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.12422559678082,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.16293986884504,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.19408795450616,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.24991848393596,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.26598899897469,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.25352399309761,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.32855984671331,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,2.35978456352883,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,2.37307401551777,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.43378245368861,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.48161912874779,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.52014693255096,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.51083444637975,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.49882209018032,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.56321462845742,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.62924940206931,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.69209307049538,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,2687.25870025653,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,2736.7381867546,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,2780.22755242774,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,2788.3406847674,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,2839.15853577221,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,2880.0447178393,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,2953.33003033017,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,2974.42480998802,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,2958.0627611192,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,3056.55772501098,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,3097.54449609546,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,3114.98874482083,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,3194.67698900589,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,3257.46925904239,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,3308.04234459504,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,3295.81841503366,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,3280.05053164051,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,3364.57466812845,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,3451.25446623958,, -"COL","Colombia","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,3533.74549624976,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,5977.87915319269,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,6087.94759982913,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,6184.69086180767,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,6202.73874259998,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,6315.78441702751,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,6406.736827158,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,6569.761973093,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,6616.68787700609,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,6580.29005984502,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,6799.39475240287,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,6890.57092550418,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,6929.37612531189,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,7106.64476477074,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,7246.32785594355,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,7358.82904304881,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,7331.63658342886,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,7296.56050332654,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,7484.58671509567,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,7677.4082540424,, -"COL","Colombia","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,7860.91176584652,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,1.78903704295792,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,1.82120793677112,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,1.79848109666932,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,1.81176692651271,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,1.79098838472673,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,1.80441191603866,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,1.82397177308357,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,1.84002874706104,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,1.87713914983963,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,1.89984152516597,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,1.96728984036142,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,1.99249629188157,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,2.02623997729412,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,2.04369364020009,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,2.0349675840473,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,2.15634892866902,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,2.21723242152862,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,2.18176299212972,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,2.186220126601,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,2.19867730805727,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2000","2000","USD","US Dollar","0","Units",,,2.81479006087907,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2001","2001","USD","US Dollar","0","Units",,,2.86540629183495,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2002","2002","USD","US Dollar","0","Units",,,2.82964890833888,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2003","2003","USD","US Dollar","0","Units",,,2.85055223280659,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2004","2004","USD","US Dollar","0","Units",,,2.81786021386323,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2005","2005","USD","US Dollar","0","Units",,,2.83898019160067,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2006","2006","USD","US Dollar","0","Units",,,2.86975478702839,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2007","2007","USD","US Dollar","0","Units",,,2.89501810448594,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2008","2008","USD","US Dollar","0","Units",,,2.95340593569803,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2009","2009","USD","US Dollar","0","Units",,,2.98912482742164,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2010","2010","USD","US Dollar","0","Units",,,3.09524495946836,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2011","2011","USD","US Dollar","0","Units",,,3.1349036515498,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2012","2012","USD","US Dollar","0","Units",,,3.18799444175481,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2013","2013","USD","US Dollar","0","Units",,,3.21545524647489,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2014","2014","USD","US Dollar","0","Units",,,3.20172606393715,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2015","2015","USD","US Dollar","0","Units",,,3.3927019879753,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2016","2016","USD","US Dollar","0","Units",,,3.48849332513478,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2017","2017","USD","US Dollar","0","Units",,,3.4326873273048,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2018","2018","USD","US Dollar","0","Units",,,3.43969998132398,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","H","Hourly","2019","2019","USD","US Dollar","0","Units",,,3.45929954785487,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2000","2000","USD","US Dollar","0","Units",,,4850.84615362019,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2001","2001","USD","US Dollar","0","Units",,,4938.0752342737,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2002","2002","USD","US Dollar","0","Units",,,4876.45303068339,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2003","2003","USD","US Dollar","0","Units",,,4912.4766093159,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2004","2004","USD","US Dollar","0","Units",,,4856.13707744476,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2005","2005","USD","US Dollar","0","Units",,,4892.53402377339,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2006","2006","USD","US Dollar","0","Units",,,4945.56917901803,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2007","2007","USD","US Dollar","0","Units",,,4989.10651703121,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2008","2008","USD","US Dollar","0","Units",,,5089.72872342232,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2009","2009","USD","US Dollar","0","Units",,,5151.28459252146,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2010","2010","USD","US Dollar","0","Units",,,5334.16588143709,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2011","2011","USD","US Dollar","0","Units",,,5402.51137427318,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2012","2012","USD","US Dollar","0","Units",,,5494.00496700605,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2013","2013","USD","US Dollar","0","Units",,,5541.32932728538,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2014","2014","USD","US Dollar","0","Units",,,5517.66924931681,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2015","2015","USD","US Dollar","0","Units",,,5846.78609516257,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2016","2016","USD","US Dollar","0","Units",,,6011.86733723045,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2017","2017","USD","US Dollar","0","Units",,,5915.694512946,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2018","2018","USD","US Dollar","0","Units",,,5927.77971469813,, -"CRI","Costa Rica","EXR","In 2019 constant prices at 2019 USD exchange rates","A","Annual","2019","2019","USD","US Dollar","0","Units",,,5961.55647241815,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2000","2000","USD","US Dollar","0","Units",,,7632.10219364068,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2001","2001","USD","US Dollar","0","Units",,,7769.34448843249,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2002","2002","USD","US Dollar","0","Units",,,7672.3908971817,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2003","2003","USD","US Dollar","0","Units",,,7729.0687683813,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2004","2004","USD","US Dollar","0","Units",,,7640.42669416059,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2005","2005","USD","US Dollar","0","Units",,,7697.69200522581,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2006","2006","USD","US Dollar","0","Units",,,7781.1351225427,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2007","2007","USD","US Dollar","0","Units",,,7849.63480330617,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2008","2008","USD","US Dollar","0","Units",,,8007.94923707838,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2009","2009","USD","US Dollar","0","Units",,,8104.79846063753,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2010","2010","USD","US Dollar","0","Units",,,8392.53561867278,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2011","2011","USD","US Dollar","0","Units",,,8500.0673294879,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2012","2012","USD","US Dollar","0","Units",,,8644.01921492947,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2013","2013","USD","US Dollar","0","Units",,,8718.47722544192,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2014","2014","USD","US Dollar","0","Units",,,8681.25152764673,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2015","2015","USD","US Dollar","0","Units",,,9199.06910453874,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2016","2016","USD","US Dollar","0","Units",,,9458.80047300832,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2017","2017","USD","US Dollar","0","Units",,,9307.486496035,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2018","2018","USD","US Dollar","0","Units",,,9326.50080650415,, -"CRI","Costa Rica","PPP","In 2019 constant prices at 2019 USD PPPs","A","Annual","2019","2019","USD","US Dollar","0","Units",,,9379.64363118364,, diff --git a/Resources/.ipynb_checkpoints/worldwide_minimum_hourly_wage-checkpoint.csv b/Resources/.ipynb_checkpoints/worldwide_minimum_hourly_wage-checkpoint.csv deleted file mode 100644 index d2a595b..0000000 --- a/Resources/.ipynb_checkpoints/worldwide_minimum_hourly_wage-checkpoint.csv +++ /dev/null @@ -1,33 +0,0 @@ -Country,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019 -Australia,10.9,11,11.1,11.3,11.4,11.2,11.6,11.4,11.6,11.5,11.6,11.8,11.8,11.8,12,12.1,12.2,12.4,12.6 -Belgium,10.9,11.1,11,10.9,10.8,10.8,10.9,10.9,11.4,11.2,11.1,11,11.2,11.2,11.1,11,11,10.9,11 -Canada,7.2,7.1,7,7.1,7.1,7.3,7.3,7.6,8.1,8.4,8.4,8.6,8.6,8.7,8.8,8.9,9.1,10.1,10.2 -Chile,1.9,1.9,1.9,2,2,2.1,2.1,2.1,2.3,2.3,2.4,2.4,2.5,2.6,2.7,2.8,2.9,3,3.1 -Colombia,2.1,2.1,2.1,2.2,2.2,2.2,2.3,2.3,2.3,2.4,2.4,2.4,2.5,2.5,2.5,2.5,2.6,2.6,2.7 -Czech Republic,3.1,3.4,3.7,3.9,4.1,4.3,4.4,4.1,4.1,4,3.9,3.8,3.8,3.9,4.3,4.5,5,5.4,5.8 -Estonia,1.8,2,2.3,2.5,2.6,2.8,3.2,3.6,3.6,3.5,3.2,3.2,3.3,3.7,4.1,4.5,4.7,4.9,5.2 -France,10.1,10.2,10.4,10.7,11.2,11.4,11.6,11.6,11.8,11.7,11.7,11.8,11.9,11.9,12,12.1,12.1,12,12.1 -Germany,..,..,..,..,..,..,..,..,..,..,..,..,..,..,11.5,11.4,11.7,11.5,11.8 -Greece,5.7,5.8,5.9,6,6.1,6.3,6.4,6.6,6.9,6.7,6.5,5.2,5.1,5.2,5.2,5.3,5.2,5.2,5.7 -Hungary,2.9,3.4,3.3,3.2,3.4,3.5,3.4,3.4,3.4,3.3,3.4,3.8,4,4.1,4.3,4.5,5,5.2,5.5 -Ireland,7.7,7.7,7.8,8.4,8.7,8.6,9.1,9,9.4,9.5,9.2,9.1,9,9,9,9.6,9.6,9.9,10.1 -Israel,5.5,5.3,5.4,5.4,5.3,5.5,5.7,5.6,5.5,5.4,5.4,5.5,5.6,5.6,6,6.2,6.6,6.9,6.9 -Japan,6.3,6.3,6.3,6.3,6.4,6.4,6.5,6.7,6.9,7,7.1,7.2,7.1,7.2,7.4,7.6,7.8,8,.. -Korea,3,3.3,3.5,3.7,4,4.2,4.6,4.7,4.9,4.9,4.9,5.1,5.4,5.7,6,6.5,6.8,7.8,8.6 -Latvia,1.1,1.2,1.3,1.5,1.5,1.6,2.1,2.7,3,3,3.2,3.1,3,3.4,3.8,3.9,3.9,4.4,4.3 -Lithuania,2.3,2.3,2.3,2.6,2.7,2.9,3.1,3.5,3.3,3.3,3.2,3.1,3.2,3.4,4.2,4.8,4.8,4.9,6.7 -Luxembourg,10.9,10.8,11.2,11.2,11.5,11.4,11.6,11.5,11.9,11.9,11.8,11.7,11.8,12.2,12.3,12.2,12.5,12.4,12.5 -Mexico,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,1,1,1,1.1,1.2 -Netherlands,10.7,10.9,11,10.9,10.7,10.7,10.8,10.8,11.1,11.1,10.9,10.9,10.7,10.8,10.8,11,11,11,11 -New Zealand,7,7.1,7.4,7.6,7.8,8.1,8.7,8.9,9.2,9.2,9,9.2,9.3,9.5,9.8,10.1,10.2,10.4,11 -Poland,3.3,3.2,3.4,3.4,3.4,3.6,3.6,4.2,4.6,4.6,4.6,4.9,5.1,5.4,5.7,6,6.4,6.6,6.9 -Portugal,4.7,4.8,4.7,4.7,4.7,4.7,4.8,5,5.3,5.5,5.4,5.3,5.3,5.3,5.5,5.7,5.9,6.1,6.3 -Slovak Republic,1.4,1.5,1.8,2,2.1,2.3,2.5,2.6,2.9,3,3.1,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2 -Slovenia,5,5.2,5.4,5.6,5.7,5.8,5.7,5.8,6,7.1,7.3,7.3,7.3,7.4,7.4,7.4,7.5,7.7,7.9 -Spain,5.8,5.8,5.7,5.7,6,6.2,6.4,6.4,6.7,6.7,6.6,6.4,6.4,6.4,6.4,6.5,6.9,7.1,8.6 -Turkey,3,3.2,3.4,4.4,4.6,4.5,4.5,4.4,4.6,4.6,4.7,4.9,5,5,5.4,6.5,6.3,6.2,6.7 -United Kingdom,7.1,7.6,7.8,8.2,8.6,8.8,9,9,9.1,9,8.9,8.8,8.8,8.9,9.1,9.9,10,10.2,10.5 -United States,7.4,7.3,7.2,7,6.7,6.5,6.7,7.3,8.2,8.5,8.2,8.1,8,7.8,7.8,7.7,7.6,7.4,7.3 -Costa Rica,2.9,2.8,2.9,2.8,2.8,2.9,2.9,3,3,3.1,3.1,3.2,3.2,3.2,3.4,3.5,3.4,3.4,3.5 -Brazil,1.1,1.1,1.2,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.8,2,2,2,2,2.1,2.1,2.1,2.1 -Russian Federation,0.3,0.4,0.4,0.4,0.5,0.6,1.2,1.1,1.8,1.7,1.6,1.6,1.7,1.6,1.5,1.5,1.8,2.4,2.4 diff --git a/Resources/Hourly_Minimum_Wage_from_2000-2019.png b/Resources/Hourly_Minimum_Wage_from_2000-2019.png deleted file mode 100644 index 027db1f..0000000 Binary files a/Resources/Hourly_Minimum_Wage_from_2000-2019.png and /dev/null differ diff --git a/Resources/countries.csv b/Resources/countries_lat_lon.csv similarity index 100% rename from Resources/countries.csv rename to Resources/countries_lat_lon.csv diff --git a/data_analysis_dashboard.ipynb b/data_analysis_dashboard.ipynb new file mode 100644 index 0000000..1a96a45 --- /dev/null +++ b/data_analysis_dashboard.ipynb @@ -0,0 +1,3437 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "\n", + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " var force = true;\n", + "\n", + " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", + " root._bokeh_onload_callbacks = [];\n", + " root._bokeh_is_loading = undefined;\n", + " }\n", + "\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls == null || js_urls.length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + "\n", + " function on_error() {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " for (var i = 0; i < css_urls.length; i++) {\n", + " var url = css_urls[i];\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'paths': {'plotly': 'https://cdn.plot.ly/plotly-latest.min'}});\n", + " require([\"plotly\"], function(Plotly,) {\n", + " window.Plotly = Plotly;\n", + " run_callbacks();\n", + " })\n", + " } else {\n", + " var skip = [];\n", + " if ((window['Plotly'] !== undefined) && (!(window['Plotly'] instanceof HTMLElement))) {\n", + " var urls = ['https://cdn.plot.ly/plotly-latest.min.js'];\n", + " for (var i = 0; i < urls.length; i++) {\n", + " skip.push(urls[i])\n", + " }\n", + " }\n", + " for (var i = 0; i < js_urls.length; i++) {\n", + " var url = js_urls[i];\n", + " if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " var js_urls = [\"https://code.jquery.com/jquery-3.4.1.min.js\", \"https://cdn.plot.ly/plotly-latest.min.js\"];\n", + " var css_urls = [];\n", + "\n", + " var inline_js = [\n", + " function(Bokeh) {\n", + " inject_raw_css(\"table.panel-df {\\n margin-left: auto;\\n margin-right: auto;\\n border: none;\\n border-collapse: collapse;\\n border-spacing: 0;\\n color: black;\\n font-size: 12px;\\n table-layout: fixed;\\n width: 100%;\\n}\\n\\n.panel-df tr, .panel-df th, .panel-df td {\\n text-align: right;\\n vertical-align: middle;\\n padding: 0.5em 0.5em !important;\\n line-height: normal;\\n white-space: normal;\\n max-width: none;\\n border: none;\\n}\\n\\n.panel-df tbody {\\n display: table-row-group;\\n vertical-align: middle;\\n border-color: inherit;\\n}\\n\\n.panel-df tbody tr:nth-child(odd) {\\n background: #f5f5f5;\\n}\\n\\n.panel-df thead {\\n border-bottom: 1px solid black;\\n vertical-align: bottom;\\n}\\n\\n.panel-df tr:hover {\\n background: lightblue !important;\\n cursor: pointer;\\n}\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " inject_raw_css(\".json-formatter-row {\\n font-family: monospace;\\n}\\n.json-formatter-row,\\n.json-formatter-row a,\\n.json-formatter-row a:hover {\\n color: black;\\n text-decoration: none;\\n}\\n.json-formatter-row .json-formatter-row {\\n margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty {\\n opacity: 0.5;\\n margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n display: none;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n content: \\\"No properties\\\";\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n content: \\\"[]\\\";\\n}\\n.json-formatter-row .json-formatter-string,\\n.json-formatter-row .json-formatter-stringifiable {\\n color: green;\\n white-space: pre;\\n word-wrap: break-word;\\n}\\n.json-formatter-row .json-formatter-number {\\n color: blue;\\n}\\n.json-formatter-row .json-formatter-boolean {\\n color: red;\\n}\\n.json-formatter-row .json-formatter-null {\\n color: #855A00;\\n}\\n.json-formatter-row .json-formatter-undefined {\\n color: #ca0b69;\\n}\\n.json-formatter-row .json-formatter-function {\\n color: #FF20ED;\\n}\\n.json-formatter-row .json-formatter-date {\\n background-color: rgba(0, 0, 0, 0.05);\\n}\\n.json-formatter-row .json-formatter-url {\\n text-decoration: underline;\\n color: blue;\\n cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-bracket {\\n color: blue;\\n}\\n.json-formatter-row .json-formatter-key {\\n color: #00008B;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler-link {\\n cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-toggler {\\n line-height: 1.2rem;\\n font-size: 0.7rem;\\n vertical-align: middle;\\n opacity: 0.6;\\n cursor: pointer;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler:after {\\n display: inline-block;\\n transition: transform 100ms ease-in;\\n content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-row > a > .json-formatter-preview-text {\\n opacity: 0;\\n transition: opacity 0.15s ease-in;\\n font-style: italic;\\n}\\n.json-formatter-row:hover > a > .json-formatter-preview-text {\\n opacity: 0.6;\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n transform: rotate(90deg);\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n display: inline-block;\\n}\\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n display: none;\\n}\\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n display: block;\\n}\\n.json-formatter-dark.json-formatter-row {\\n font-family: monospace;\\n}\\n.json-formatter-dark.json-formatter-row,\\n.json-formatter-dark.json-formatter-row a,\\n.json-formatter-dark.json-formatter-row a:hover {\\n color: white;\\n text-decoration: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-row {\\n margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\\n opacity: 0.5;\\n margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n display: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n content: \\\"No properties\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n content: \\\"[]\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-string,\\n.json-formatter-dark.json-formatter-row .json-formatter-stringifiable {\\n color: #31F031;\\n white-space: pre;\\n word-wrap: break-word;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-number {\\n color: #66C2FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\\n color: #EC4242;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-null {\\n color: #EEC97D;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\\n color: #ef8fbe;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-function {\\n color: #FD48CB;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-date {\\n background-color: rgba(255, 255, 255, 0.05);\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-url {\\n text-decoration: underline;\\n color: #027BFF;\\n cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\\n color: #9494FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-key {\\n color: #23A0DB;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler-link {\\n cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\\n line-height: 1.2rem;\\n font-size: 0.7rem;\\n vertical-align: middle;\\n opacity: 0.6;\\n cursor: pointer;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\\n display: inline-block;\\n transition: transform 100ms ease-in;\\n content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\\n opacity: 0;\\n transition: opacity 0.15s ease-in;\\n font-style: italic;\\n}\\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\\n opacity: 0.6;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n transform: rotate(90deg);\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n display: inline-block;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n display: none;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n display: block;\\n}\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " inject_raw_css(\".codehilite .hll { background-color: #ffffcc }\\n.codehilite { background: #f8f8f8; }\\n.codehilite .c { color: #408080; font-style: italic } /* Comment */\\n.codehilite .err { border: 1px solid #FF0000 } /* Error */\\n.codehilite .k { color: #008000; font-weight: bold } /* Keyword */\\n.codehilite .o { color: #666666 } /* Operator */\\n.codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\\n.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */\\n.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */\\n.codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\\n.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */\\n.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */\\n.codehilite .gd { color: #A00000 } /* Generic.Deleted */\\n.codehilite .ge { font-style: italic } /* Generic.Emph */\\n.codehilite .gr { color: #FF0000 } /* Generic.Error */\\n.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */\\n.codehilite .gi { color: #00A000 } /* Generic.Inserted */\\n.codehilite .go { color: #888888 } /* Generic.Output */\\n.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\\n.codehilite .gs { font-weight: bold } /* Generic.Strong */\\n.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\\n.codehilite .gt { color: #0044DD } /* Generic.Traceback */\\n.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\\n.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\\n.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\\n.codehilite .kp { color: #008000 } /* Keyword.Pseudo */\\n.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\\n.codehilite .kt { color: #B00040 } /* Keyword.Type */\\n.codehilite .m { color: #666666 } /* Literal.Number */\\n.codehilite .s { color: #BA2121 } /* Literal.String */\\n.codehilite .na { color: #7D9029 } /* Name.Attribute */\\n.codehilite .nb { color: #008000 } /* Name.Builtin */\\n.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */\\n.codehilite .no { color: #880000 } /* Name.Constant */\\n.codehilite .nd { color: #AA22FF } /* Name.Decorator */\\n.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */\\n.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\\n.codehilite .nf { color: #0000FF } /* Name.Function */\\n.codehilite .nl { color: #A0A000 } /* Name.Label */\\n.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\\n.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */\\n.codehilite .nv { color: #19177C } /* Name.Variable */\\n.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\\n.codehilite .w { color: #bbbbbb } /* Text.Whitespace */\\n.codehilite .mb { color: #666666 } /* Literal.Number.Bin */\\n.codehilite .mf { color: #666666 } /* Literal.Number.Float */\\n.codehilite .mh { color: #666666 } /* Literal.Number.Hex */\\n.codehilite .mi { color: #666666 } /* Literal.Number.Integer */\\n.codehilite .mo { color: #666666 } /* Literal.Number.Oct */\\n.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */\\n.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */\\n.codehilite .sc { color: #BA2121 } /* Literal.String.Char */\\n.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */\\n.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\\n.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */\\n.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\\n.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */\\n.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\\n.codehilite .sx { color: #008000 } /* Literal.String.Other */\\n.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */\\n.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */\\n.codehilite .ss { color: #19177C } /* Literal.String.Symbol */\\n.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */\\n.codehilite .fm { color: #0000FF } /* Name.Function.Magic */\\n.codehilite .vc { color: #19177C } /* Name.Variable.Class */\\n.codehilite .vg { color: #19177C } /* Name.Variable.Global */\\n.codehilite .vi { color: #19177C } /* Name.Variable.Instance */\\n.codehilite .vm { color: #19177C } /* Name.Variable.Magic */\\n.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */\\n\\n.markdown h1 { margin-block-start: 0.34em }\\n.markdown h2 { margin-block-start: 0.42em }\\n.markdown h3 { margin-block-start: 0.5em }\\n.markdown h4 { margin-block-start: 0.67em }\\n.markdown h5 { margin-block-start: 0.84em }\\n.markdown h6 { margin-block-start: 1.17em }\\n.markdown ul { padding-inline-start: 2em }\\n.markdown ol { padding-inline-start: 2em }\\n.markdown strong { font-weight: 600 }\\n.markdown a { color: -webkit-link }\\n.markdown a { color: -moz-hyperlinkText }\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " inject_raw_css(\".panel-widget-box {\\n\\tmin-height: 20px;\\n\\tbackground-color: #f5f5f5;\\n\\tborder: 1px solid #e3e3e3 !important;\\n\\tborder-radius: 4px;\\n\\t-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);\\n\\tbox-shadow: inset 0 1px 1px rgba(0,0,0,.05);\\n\\toverflow-x: hidden;\\n\\toverflow-y: hidden;\\n}\\n\\n.scrollable {\\n overflow: scroll;\\n}\\n\\nprogress {\\n\\tappearance: none;\\n\\t-moz-appearance: none;\\n\\t-webkit-appearance: none;\\n\\n\\tborder: none;\\n\\theight: 20px;\\n\\tbackground-color: whiteSmoke;\\n\\tborder-radius: 3px;\\n\\tbox-shadow: 0 2px 3px rgba(0,0,0,.5) inset;\\n\\tcolor: royalblue;\\n\\tposition: relative;\\n\\tmargin: 0 0 1.5em;\\n}\\n\\nprogress[value]::-webkit-progress-bar {\\n\\tbackground-color: whiteSmoke;\\n\\tborder-radius: 3px;\\n\\tbox-shadow: 0 2px 3px rgba(0,0,0,.5) inset;\\n}\\n\\nprogress[value]::-webkit-progress-value {\\n\\tposition: relative;\\n\\n\\tbackground-size: 35px 20px, 100% 100%, 100% 100%;\\n\\tborder-radius:3px;\\n}\\n\\nprogress.active:not([value])::before {\\n\\tbackground-position: 10%;\\n\\tanimation-name: stripes;\\n\\tanimation-duration: 3s;\\n\\tanimation-timing-function: linear;\\n\\tanimation-iteration-count: infinite;\\n}\\n\\nprogress[value]::-moz-progress-bar {\\n\\tbackground-size: 35px 20px, 100% 100%, 100% 100%;\\n\\tborder-radius:3px;\\n}\\n\\nprogress:not([value])::-moz-progress-bar {\\n\\tborder-radius:3px;\\n\\tbackground:\\n\\tlinear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n\\n}\\n\\nprogress.active:not([value])::-moz-progress-bar {\\n\\tbackground-position: 10%;\\n\\tanimation-name: stripes;\\n\\tanimation-duration: 3s;\\n\\tanimation-timing-function: linear;\\n\\tanimation-iteration-count: infinite;\\n}\\n\\nprogress.active:not([value])::-webkit-progress-bar {\\n\\tbackground-position: 10%;\\n\\tanimation-name: stripes;\\n\\tanimation-duration: 3s;\\n\\tanimation-timing-function: linear;\\n\\tanimation-iteration-count: infinite;\\n}\\n\\nprogress.primary[value]::-webkit-progress-value { background-color: #007bff; }\\nprogress.primary:not([value])::before { background-color: #007bff; }\\nprogress.primary:not([value])::-webkit-progress-bar { background-color: #007bff; }\\nprogress.primary::-moz-progress-bar { background-color: #007bff; }\\n\\nprogress.secondary[value]::-webkit-progress-value { background-color: #6c757d; }\\nprogress.secondary:not([value])::before { background-color: #6c757d; }\\nprogress.secondary:not([value])::-webkit-progress-bar { background-color: #6c757d; }\\nprogress.secondary::-moz-progress-bar { background-color: #6c757d; }\\n\\nprogress.success[value]::-webkit-progress-value { background-color: #28a745; }\\nprogress.success:not([value])::before { background-color: #28a745; }\\nprogress.success:not([value])::-webkit-progress-bar { background-color: #28a745; }\\nprogress.success::-moz-progress-bar { background-color: #28a745; }\\n\\nprogress.danger[value]::-webkit-progress-value { background-color: #dc3545; }\\nprogress.danger:not([value])::before { background-color: #dc3545; }\\nprogress.danger:not([value])::-webkit-progress-bar { background-color: #dc3545; }\\nprogress.danger::-moz-progress-bar { background-color: #dc3545; }\\n\\nprogress.warning[value]::-webkit-progress-value { background-color: #ffc107; }\\nprogress.warning:not([value])::before { background-color: #ffc107; }\\nprogress.warning:not([value])::-webkit-progress-bar { background-color: #ffc107; }\\nprogress.warning::-moz-progress-bar { background-color: #ffc107; }\\n\\nprogress.info[value]::-webkit-progress-value { background-color: #17a2b8; }\\nprogress.info:not([value])::before { background-color: #17a2b8; }\\nprogress.info:not([value])::-webkit-progress-bar { background-color: #17a2b8; }\\nprogress.info::-moz-progress-bar { background-color: #17a2b8; }\\n\\nprogress.light[value]::-webkit-progress-value { background-color: #f8f9fa; }\\nprogress.light:not([value])::before { background-color: #f8f9fa; }\\nprogress.light:not([value])::-webkit-progress-bar { background-color: #f8f9fa; }\\nprogress.light::-moz-progress-bar { background-color: #f8f9fa; }\\n\\nprogress.dark[value]::-webkit-progress-value { background-color: #343a40; }\\nprogress.dark:not([value])::-webkit-progress-bar { background-color: #343a40; }\\nprogress.dark:not([value])::before { background-color: #343a40; }\\nprogress.dark::-moz-progress-bar { background-color: #343a40; }\\n\\nprogress:not([value])::-webkit-progress-bar {\\n\\tborder-radius: 3px;\\n\\tbackground:\\n\\tlinear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\nprogress:not([value])::before {\\n\\tcontent:\\\" \\\";\\n\\tposition:absolute;\\n\\theight: 20px;\\n\\ttop:0;\\n\\tleft:0;\\n\\tright:0;\\n\\tbottom:0;\\n\\tborder-radius: 3px;\\n\\tbackground:\\n\\tlinear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\n\\n@keyframes stripes {\\n from {background-position: 0%}\\n to {background-position: 100%}\\n}\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " /* BEGIN bokeh.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " const bokeh = factory();\n", + " bokeh.__bokeh__ = true;\n", + " if (typeof root.Bokeh === \"undefined\" || typeof root.Bokeh.__bokeh__ === \"undefined\") {\n", + " root.Bokeh = bokeh;\n", + " }\n", + " const Bokeh = root.Bokeh;\n", + " Bokeh[bokeh.version] = bokeh;\n", + " })(this, function() {\n", + " var define;\n", + " var parent_require = typeof require === \"function\" && require\n", + " return (function(modules, entry, aliases, externals) {\n", + " if (aliases === undefined) aliases = {};\n", + " if (externals === undefined) externals = {};\n", + "\n", + " var cache = {};\n", + "\n", + " var normalize = function(name) {\n", + " if (typeof name === \"number\")\n", + " return name;\n", + "\n", + " if (name === \"bokehjs\")\n", + " return entry;\n", + "\n", + " var prefix = \"@bokehjs/\"\n", + " if (name.slice(0, prefix.length) === prefix)\n", + " name = name.slice(prefix.length)\n", + "\n", + " var alias = aliases[name]\n", + " if (alias != null)\n", + " return alias;\n", + "\n", + " var trailing = name.length > 0 && name[name.lenght-1] === \"/\";\n", + " var index = aliases[name + (trailing ? \"\" : \"/\") + \"index\"];\n", + " if (index != null)\n", + " return index;\n", + "\n", + " return name;\n", + " }\n", + "\n", + " var require = function(name) {\n", + " var mod = cache[name];\n", + " if (!mod) {\n", + " var id = normalize(name);\n", + "\n", + " mod = cache[id];\n", + " if (!mod) {\n", + " if (!modules[id]) {\n", + " if (externals[id] === false || (externals[id] == true && parent_require)) {\n", + " try {\n", + " mod = {exports: externals[id] ? parent_require(id) : {}};\n", + " cache[id] = cache[name] = mod;\n", + " return mod.exports;\n", + " } catch (e) {}\n", + " }\n", + "\n", + " var err = new Error(\"Cannot find module '\" + name + \"'\");\n", + " err.code = 'MODULE_NOT_FOUND';\n", + " throw err;\n", + " }\n", + "\n", + " mod = {exports: {}};\n", + " cache[id] = cache[name] = mod;\n", + " modules[id].call(mod.exports, require, mod, mod.exports);\n", + " } else\n", + " cache[name] = mod;\n", + " }\n", + "\n", + " return mod.exports;\n", + " }\n", + " require.resolve = function(name) {\n", + " return \"\"\n", + " }\n", + "\n", + " var main = require(entry);\n", + " main.require = require;\n", + "\n", + " if (typeof Proxy !== \"undefined\") {\n", + " // allow Bokeh.loader[\"@bokehjs/module/name\"] syntax\n", + " main.loader = new Proxy({}, {\n", + " get: function(_obj, module) {\n", + " return require(module);\n", + " }\n", + " });\n", + " }\n", + "\n", + " main.register_plugin = function(plugin_modules, plugin_entry, plugin_aliases, plugin_externals) {\n", + " if (plugin_aliases === undefined) plugin_aliases = {};\n", + " if (plugin_externals === undefined) plugin_externals = {};\n", + "\n", + " for (var name in plugin_modules) {\n", + " modules[name] = plugin_modules[name];\n", + " }\n", + "\n", + " for (var name in plugin_aliases) {\n", + " aliases[name] = plugin_aliases[name];\n", + " }\n", + "\n", + " for (var name in plugin_externals) {\n", + " externals[name] = plugin_externals[name];\n", + " }\n", + "\n", + " var plugin = require(plugin_entry);\n", + "\n", + " for (var name in plugin) {\n", + " main[name] = plugin[name];\n", + " }\n", + "\n", + " return plugin;\n", + " }\n", + "\n", + " return main;\n", + " })\n", + " ([\n", + " function _(e,t,_){Object.defineProperty(_,\"__esModule\",{value:!0});e(1).__exportStar(e(2),_)},\n", + " function _(t,e,n){\n", + " /*! *****************************************************************************\n", + " Copyright (c) Microsoft Corporation.\n", + " \n", + " Permission to use, copy, modify, and/or distribute this software for any\n", + " purpose with or without fee is hereby granted.\n", + " \n", + " THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n", + " REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n", + " AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n", + " INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n", + " LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n", + " OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n", + " PERFORMANCE OF THIS SOFTWARE.\n", + " ***************************************************************************** */\n", + " Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function o(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function a(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function i(t){return this instanceof i?(this.v=t,this):new i(t)}n.__extends=function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},n.__assign=function(){return n.__assign=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=0;u--)(o=t[u])&&(i=(a<3?o(i):a>3?o(e,n,i):o(e,n))||i);return a>3&&i&&Object.defineProperty(e,n,i),i},n.__param=function(t,e){return function(n,r){e(n,r,t)}},n.__metadata=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},n.__awaiter=function(t,e,n,r){return new(n||(n=Promise))((function(o,a){function i(t){try{c(r.next(t))}catch(t){a(t)}}function u(t){try{c(r.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,u)}c((r=r.apply(t,e||[])).next())}))},n.__generator=function(t,e){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(n)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]1||c(t,e)}))})}function c(t,e){try{(n=o[t](e)).value instanceof i?Promise.resolve(n.value.v).then(f,l):s(a[0][2],n)}catch(t){s(a[0][3],t)}var n}function f(t){c(\"next\",t)}function l(t){c(\"throw\",t)}function s(t,e){t(e),a.shift(),a.length&&c(a[0][0],a[0][1])}},n.__asyncDelegator=function(t){var e,n;return e={},r(\"next\"),r(\"throw\",(function(t){throw t})),r(\"return\"),e[Symbol.iterator]=function(){return this},e;function r(r,o){e[r]=t[r]?function(e){return(n=!n)?{value:i(t[r](e)),done:\"return\"===r}:o?o(e):e}:o}},n.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=o(t),e={},r(\"next\"),r(\"throw\"),r(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,o){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,o,(e=t[n](e)).done,e.value)}))}}},n.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t},n.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e},n.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},n.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)},n.__classPrivateFieldSet=function(t,e,n){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,n),n}},\n", + " function _(e,r,t){var l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r};Object.defineProperty(t,\"__esModule\",{value:!0});var o=e(3);t.version=o.version;var s=e(4);t.index=s.index,t.embed=l(e(4)),t.protocol=l(e(390)),t._testing=l(e(391));var n=e(19);t.logger=n.logger,t.set_log_level=n.set_log_level;var a=e(27);t.settings=a.settings;var i=e(7);t.Models=i.Models;var v=e(5);t.documents=v.documents;var _=e(392);t.safely=_.safely},\n", + " function _(e,n,o){Object.defineProperty(o,\"__esModule\",{value:!0}),o.version=\"2.2.3\"},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(5),s=e(19),r=e(29),d=e(13),_=e(8),c=e(16),i=e(381),a=e(383),u=e(382);var l=e(381);t.add_document_standalone=l.add_document_standalone,t.index=l.index;var m=e(383);t.add_document_from_session=m.add_document_from_session;var f=e(388);t.embed_items_notebook=f.embed_items_notebook,t.kernels=f.kernels;var g=e(382);async function O(e,o,t,c){_.isString(e)&&(e=JSON.parse(r.unescape(e)));const l={};for(const[o,t]of d.entries(e))l[o]=n.Document.from_json(t);const m=[];for(const e of o){const o=u._resolve_element(e),n=u._resolve_root_elements(e);if(null!=e.docid)m.push(await i.add_document_standalone(l[e.docid],o,n,e.use_for_title));else{if(null==e.token)throw new Error(\"Error rendering Bokeh items: either 'docid' or 'token' was expected.\");{const r=a._get_ws_url(t,c);s.logger.debug(\"embed: computed ws url: \"+r);try{m.push(await a.add_document_from_session(r,e.token,o,n,e.use_for_title)),console.log(\"Bokeh items were rendered successfully\")}catch(e){console.log(\"Error rendering Bokeh items:\",e)}}}}return m}t.BOKEH_ROOT=g.BOKEH_ROOT,t.embed_item=async function(e,o){const t={},n=r.uuid4();t[n]=e.doc,null==o&&(o=e.target_id);const s=document.getElementById(o);null!=s&&s.classList.add(u.BOKEH_ROOT);const d={roots:{[e.root_id]:o},root_ids:[e.root_id],docid:n},[_]=await c.defer(()=>O(t,[d]));return _},t.embed_items=async function(e,o,t,n){return await c.defer(()=>O(e,o,t,n))}},\n", + " function _(e,t,_){Object.defineProperty(_,\"__esModule\",{value:!0});const o=e(1);o.__exportStar(e(6),_),o.__exportStar(e(121),_)},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),n=e(7),r=e(3),i=e(19),_=e(313),a=e(14),l=e(15),c=e(17),h=e(31),d=e(9),f=e(13),u=o.__importStar(e(120)),m=e(25),g=e(8),p=e(272),w=e(85),v=e(81),b=e(121);class y{constructor(e){this.document=e,this.session=null,this.subscribed_models=new Set}send_event(e){const t=new b.MessageSentEvent(this.document,\"bokeh_event\",e.to_json());this.document._trigger_on_change(t)}trigger(e){for(const t of this.subscribed_models)null!=e.origin&&e.origin!=t||t._process_event(e)}}s.EventManager=y,y.__name__=\"EventManager\",s.documents=[],s.DEFAULT_TITLE=\"Bokeh Application\";class j{constructor(){s.documents.push(this),this._init_timestamp=Date.now(),this._title=s.DEFAULT_TITLE,this._roots=[],this._all_models=new Map,this._all_models_freeze_count=0,this._callbacks=new Map,this._message_callbacks=new Map,this.event_manager=new y(this),this.idle=new l.Signal0(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}get layoutables(){return this._roots.filter(e=>e instanceof p.LayoutDOM)}get is_idle(){for(const e of this.layoutables)if(!this._idle_roots.has(e))return!1;return!0}notify_idle(e){this._idle_roots.set(e,!0),this.is_idle&&(i.logger.info(`document idle at ${Date.now()-this._init_timestamp} ms`),this.event_manager.send_event(new _.DocumentReady),this.idle.emit())}clear(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}}interactive_start(e){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new _.LODStart)),this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&this._interactive_plot.trigger_event(new _.LODEnd),this._interactive_plot=null,this._interactive_timestamp=null}interactive_duration(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp}destructively_move(e){if(e===this)throw new Error(\"Attempted to overwrite a document with itself\");e.clear();const t=d.copy(this._roots);this.clear();for(const e of t)if(null!=e.document)throw new Error(\"Somehow we didn't detach \"+e);if(0!=this._all_models.size)throw new Error(\"this._all_models still had stuff in it: \"+this._all_models);for(const s of t)e.add_root(s);e.set_title(this._title)}_push_all_models_freeze(){this._all_models_freeze_count+=1}_pop_all_models_freeze(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()}_invalidate_all_models(){i.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()}_recompute_all_models(){let e=new Set;for(const t of this._roots)e=u.union(e,t.references());const t=new Set(this._all_models.values()),s=u.difference(t,e),o=u.difference(e,t),n=new Map;for(const t of e)n.set(t.id,t);for(const e of s)e.detach_document();for(const e of o)e.attach_document(this);this._all_models=n}roots(){return this._roots}add_root(e,t){if(i.logger.debug(\"Adding root: \"+e),!d.includes(this._roots,e)){this._push_all_models_freeze();try{this._roots.push(e)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new b.RootAddedEvent(this,e,t))}}remove_root(e,t){const s=this._roots.indexOf(e);if(!(s<0)){this._push_all_models_freeze();try{this._roots.splice(s,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new b.RootRemovedEvent(this,e,t))}}title(){return this._title}set_title(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new b.TitleChangedEvent(this,e,t)))}get_model_by_id(e){var t;return null!==(t=this._all_models.get(e))&&void 0!==t?t:null}get_model_by_name(e){const t=[];for(const s of this._all_models.values())s instanceof v.Model&&s.name==e&&t.push(s);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(`Multiple models are named '${e}'`)}}on_message(e,t){const s=this._message_callbacks.get(e);null==s?this._message_callbacks.set(e,new Set([t])):s.add(t)}remove_on_message(e,t){var s;null===(s=this._message_callbacks.get(e))||void 0===s||s.delete(t)}_trigger_on_message(e,t){const s=this._message_callbacks.get(e);if(null!=s)for(const e of s)e(t)}on_change(e,t=!1){this._callbacks.has(e)||this._callbacks.set(e,t)}remove_on_change(e){this._callbacks.delete(e)}_trigger_on_change(e){for(const[t,s]of this._callbacks)if(!s&&e instanceof b.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_notify_change(e,t,s,o,n){this._trigger_on_change(new b.ModelChangedEvent(this,e,t,s,o,null==n?void 0:n.setter_id,null==n?void 0:n.hint))}static _references_json(e,t=!0){const s=[];for(const o of e){const e=o.struct();e.attributes=o.attributes_as_json(t),delete e.attributes.id,s.push(e)}return s}static _instantiate_object(e,t,s){const o=Object.assign(Object.assign({},s),{id:e,__deferred__:!0});return new(n.Models(t))(o)}static _instantiate_references_json(e,t){const s=new Map;for(const o of e){const e=o.id,n=o.type,r=o.attributes||{};let i=t.get(e);null==i&&(i=j._instantiate_object(e,n,r),null!=o.subtype&&i.set_subtype(o.subtype)),s.set(i.id,i)}return s}static _resolve_refs(e,t,s,o){function n(e){if(c.is_ref(e)){if(t.has(e.id))return t.get(e.id);if(s.has(e.id))return s.get(e.id);throw new Error(`reference ${JSON.stringify(e)} isn't known (not in Document?)`)}return h.is_NDArray_ref(e)?h.decode_NDArray(e,o):g.isArray(e)?function(e){const t=[];for(const s of e)t.push(n(s));return t}(e):g.isPlainObject(e)?function(e){const t={};for(const[s,o]of f.entries(e))t[s]=n(o);return t}(e):e}return n(e)}static _initialize_references_json(e,t,s,o){const n=new Map;for(const{id:r,attributes:i}of e){const e=!t.has(r),_=e?s.get(r):t.get(r),a=j._resolve_refs(i,t,s,o);_.setv(a,{silent:!0}),n.set(r,{instance:_,is_new:e})}const r=[],i=new Set;function _(e){if(e instanceof a.HasProps){if(n.has(e.id)&&!i.has(e.id)){i.add(e.id);const{instance:t,is_new:s}=n.get(e.id),{attributes:o}=t;for(const e of f.values(o))_(e);s&&(t.finalize(),r.push(t))}}else if(g.isArray(e))for(const t of e)_(t);else if(g.isPlainObject(e))for(const t of f.values(e))_(t)}for(const e of n.values())_(e.instance);for(const e of r)e.connect_signals()}static _event_for_attribute_change(e,t,s,o,n){if(o.get_model_by_id(e.id).property(t).syncable){const r={kind:\"ModelChanged\",model:{id:e.id},attr:t,new:s};return a.HasProps._json_record_references(o,s,n,{recursive:!0}),r}return null}static _events_to_sync_objects(e,t,s,o){const n=Object.keys(e.attributes),r=Object.keys(t.attributes),_=d.difference(n,r),a=d.difference(r,n),l=d.intersection(n,r),c=[];for(const e of _)i.logger.warn(`Server sent key ${e} but we don't seem to have it in our JSON`);for(const n of a){const r=t.attributes[n];c.push(j._event_for_attribute_change(e,n,r,s,o))}for(const n of l){const r=e.attributes[n],i=t.attributes[n];null==r&&null==i||(null==r||null==i?c.push(j._event_for_attribute_change(e,n,i,s,o)):m.isEqual(r,i)||c.push(j._event_for_attribute_change(e,n,i,s,o)))}return c.filter(e=>null!=e)}static _compute_patch_since_json(e,t){const s=t.to_json(!1);function o(e){const t=new Map;for(const s of e.roots.references)t.set(s.id,s);return t}const n=o(e),r=new Map,i=[];for(const t of e.roots.root_ids)r.set(t,n.get(t)),i.push(t);const _=o(s),a=new Map,l=[];for(const e of s.roots.root_ids)a.set(e,_.get(e)),l.push(e);if(i.sort(),l.sort(),d.difference(i,l).length>0||d.difference(l,i).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");const c=new Set;let h=[];for(const e of t._all_models.keys())if(n.has(e)){const s=j._events_to_sync_objects(n.get(e),_.get(e),t,c);h=h.concat(s)}return{references:j._references_json(c,!1),events:h}}to_json_string(e=!0){return JSON.stringify(this.to_json(e))}to_json(e=!0){const t=this._roots.map(e=>e.id),s=this._all_models.values();return{version:r.version,title:this._title,roots:{root_ids:t,references:j._references_json(s,e)}}}static from_json_string(e){const t=JSON.parse(e);return j.from_json(t)}static from_json(e){i.logger.debug(\"Creating Document from JSON\");const t=e.version,s=-1!==t.indexOf(\"+\")||-1!==t.indexOf(\"-\"),o=`Library versions: JS (${r.version}) / Python (${t})`;s||r.version.replace(/-(dev|rc)\\./,\"$1\")==t?i.logger.debug(o):(i.logger.warn(\"JS/Python version mismatch\"),i.logger.warn(o));const n=e.roots,_=n.root_ids,a=n.references,l=j._instantiate_references_json(a,new Map);j._initialize_references_json(a,new Map,l,new Map);const c=new j;for(const e of _){const t=l.get(e);null!=t&&c.add_root(t)}return c.set_title(e.title),c}replace_with_json(e){j.from_json(e).destructively_move(this)}create_json_patch_string(e){return JSON.stringify(this.create_json_patch(e))}create_json_patch(e){const t=new Set,s=[];for(const o of e){if(o.document!==this)throw i.logger.warn(\"Cannot create a patch using events from a different document, event had \",o.document,\" we are \",this),new Error(\"Cannot create a patch using events from a different document\");s.push(o.json(t))}return{events:s,references:j._references_json(t)}}apply_json_patch(e,t=new Map,s){const o=e.references,n=e.events,r=j._instantiate_references_json(o,this._all_models);t instanceof Map||(t=new Map(t));for(const e of n)switch(e.kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":{const t=e.model.id,s=this._all_models.get(t);if(null!=s)r.set(t,s);else if(!r.has(t))throw i.logger.warn(`Got an event for unknown model ${e.model}\"`),new Error(\"event model wasn't known\");break}}const _=new Map,a=new Map;for(const[e,t]of r)this._all_models.has(e)?_.set(e,t):a.set(e,t);j._initialize_references_json(o,_,a,t);for(const e of n)switch(e.kind){case\"MessageSent\":{const{msg_type:s,msg_data:o}=e;let n;if(void 0===o){if(1!=t.size)throw new Error(\"expected exactly one buffer\");{const[[,e]]=t;n=e}}else n=j._resolve_refs(o,_,a,t);this._trigger_on_message(s,n);break}case\"ModelChanged\":{const o=e.model.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot apply patch to ${o} which is not in the document`);const r=e.attr,i=j._resolve_refs(e.new,_,a,t);n.setv({[r]:i},{setter_id:s});break}case\"ColumnDataChanged\":{const o=e.column_source.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot stream to ${o} which is not in the document`);const r=j._resolve_refs(e.new,new Map,new Map,t);if(null!=e.cols)for(const e in n.data)e in r||(r[e]=n.data[e]);n.setv({data:r},{setter_id:s,check_eq:!1});break}case\"ColumnsStreamed\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot stream to ${t} which is not in the document`);if(!(o instanceof w.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");const n=e.data,r=e.rollover;o.stream(n,r,s);break}case\"ColumnsPatched\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot patch ${t} which is not in the document`);if(!(o instanceof w.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");const n=e.patches;o.patch(n,s);break}case\"RootAdded\":{const t=e.model.id,o=r.get(t);this.add_root(o,s);break}case\"RootRemoved\":{const t=e.model.id,o=r.get(t);this.remove_root(o,s);break}case\"TitleChanged\":this.set_title(e.title,s);break;default:throw new Error(\"Unknown patch event \"+JSON.stringify(e))}}}s.Document=j,j.__name__=\"Document\"},\n", + " function _(e,r,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),t=e(8),d=e(13),i=e(14);s.overrides={};const l=new Map;s.Models=e=>{const r=s.overrides[e]||l.get(e);if(null==r)throw new Error(`Model '${e}' does not exist. This could be due to a widget or a custom model not being registered before first usage.`);return r},s.Models.register=(e,r)=>{s.overrides[e]=r},s.Models.unregister=e=>{delete s.overrides[e]},s.Models.register_models=(e,r=!1,s)=>{var o;if(null!=e)for(const n of d.values(e))if(o=n,t.isObject(o)&&o.prototype instanceof i.HasProps){const e=n.__qualified__;r||!l.has(e)?l.set(e,n):null!=s?s(e):console.warn(`Model '${e}' was already registered`)}},s.register_models=s.Models.register_models,s.Models.registered_names=()=>Array.from(l.keys());const n=o.__importStar(e(34));s.register_models(n)},\n", + " function _(n,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});\n", + " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " const e=n(9),i=Object.prototype.toString;function o(n){return\"[object Number]\"===i.call(n)}function c(n){const t=typeof n;return\"function\"===t||\"object\"===t&&!!n}r.isBoolean=function(n){return!0===n||!1===n||\"[object Boolean]\"===i.call(n)},r.isNumber=o,r.isInteger=function(n){return o(n)&&Number.isInteger(n)},r.isString=function(n){return\"[object String]\"===i.call(n)},r.isFunction=function(n){return\"[object Function]\"===i.call(n)},r.isArray=function(n){return Array.isArray(n)},r.isArrayOf=function(n,t){return e.every(n,t)},r.isArrayableOf=function(n,t){for(let r=0,e=n.length;r0,\"'step' must be a positive number\"),null==t&&(t=n,n=0);const{max:r,ceil:i,abs:u}=Math,c=n<=t?e:-e,f=r(i(u(t-n)/e),0),s=new Array(f);for(let t=0;t=0?t:n.length+t]},e.zip=function(...n){if(0==n.length)return[];const t=i.min(n.map(n=>n.length)),e=n.length,r=new Array(t);for(let o=0;on.length)),r=Array(e);for(let n=0;nn[t])},e.argmax=function(n){return i.max_by(a(n.length),t=>n[t])},e.sort_by=function(n,t){const e=n.map((n,e)=>({value:n,index:e,key:t(n)}));return e.sort((n,t)=>{const e=n.key,r=t.key;if(e!==r){if(e>r||void 0===e)return 1;if(en.value)},e.uniq=function(n){const t=new Set;for(const e of n)t.add(e);return[...t]},e.uniq_by=function(n,t){const e=[],r=[];for(const o of n){const n=t(o);s(r,n)||(r.push(n),e.push(o))}return e},e.union=function(...n){const t=new Set;for(const e of n)for(const n of e)t.add(n);return[...t]},e.intersection=function(n,...t){const e=[];n:for(const r of n)if(!s(e,r)){for(const n of t)if(!s(n,r))continue n;e.push(r)}return e},e.difference=function(n,...t){const e=f(t);return n.filter(n=>!s(e,n))},e.remove_at=function(n,t){const e=c(n);return e.splice(t,1),e},e.remove_by=function(n,t){for(let e=0;e2*Math.PI;)n-=2*Math.PI;return n}function a(n,t){return e(n-t)}function o(){return Math.random()}Object.defineProperty(r,\"__esModule\",{value:!0}),r.angle_norm=e,r.angle_dist=a,r.angle_between=function(n,t,r,o){const u=a(t,r);if(0==u)return!1;if(u==2*Math.PI)return!0;const f=e(n),i=a(t,f)<=u&&a(f,r)<=u;return 0==o?i:!i},r.random=o,r.randomIn=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},r.atan2=function(n,t){return Math.atan2(t[1]-n[1],t[0]-n[0])},r.radians=function(n){return n*(Math.PI/180)},r.degrees=function(n){return n/(Math.PI/180)},r.rnorm=function(n,t){let r,e;for(;r=o(),e=o(),e=(2*e-1)*Math.sqrt(1/Math.E*2),!(-4*r*r*Math.log(r)>=e*e););let a=e/r;return a=n+t*a,a},r.clamp=function(n,t,r){return nr?r:n}},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});class o extends Error{}n.AssertionError=o,o.__name__=\"AssertionError\",n.assert=function(e,r){if(!(!0===e||!1!==e&&e()))throw new o(null!=r?r:\"Assertion failed\")},n.unreachable=function(){throw new Error(\"unreachable code\")}},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=n(8),o=n(10);function i(n,t,e,...r){const o=n.length;t<0&&(t+=o),t<0?t=0:t>o&&(t=o),null==e||e>o-t?e=o-t:e<0&&(e=0);const i=o-e+r.length,u=new n.constructor(i);let l=0;for(;l0?0:r-1;for(;o>=0&&ot[t.length-1])return t.length;let e=0,r=t.length-1;for(;r-e!=1;){const o=e+Math.floor((r-e)/2);n>=t[o]?e=o:r=o}return e}e.is_empty=function(n){return 0==n.length},e.copy=function(n){return r.isArray(n)?n.slice():new n.constructor(n)},e.splice=i,e.head=u,e.insert=function(n,t,e){return i(n,e,0,t)},e.append=function(n,t){return i(n,n.length,0,t)},e.prepend=function(n,t){return i(n,0,0,t)},e.indexOf=function(n,t){for(let e=0,r=n.length;ee&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;or&&(r=t));return[e,r]},e.min_by=function(n,t){if(0==n.length)throw new Error(\"min_by() called with an empty array\");let e=n[0],r=t(e);for(let o=1,i=n.length;or&&(e=i,r=u)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;et[r]=n+e,0),t},e.every=function(n,t){for(let e=0,r=n.length;e(n-t)/r)}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const c=e(9);function o(e){return Object.keys(e).length}n.keys=Object.keys,n.values=Object.values,n.entries=Object.entries,n.extend=Object.assign,n.clone=function(e){return Object.assign({},e)},n.merge=function(e,t){const n=Object.create(Object.prototype),o=c.concat([Object.keys(e),Object.keys(t)]);for(const s of o){const o=e.hasOwnProperty(s)?e[s]:[],r=t.hasOwnProperty(s)?t[s]:[];n[s]=c.union(o,r)}return n},n.size=o,n.isEmpty=function(e){return 0==o(e)},n.to_object=function(e){const t={};for(const[n,c]of e)t[n]=c;return t}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const s=t(1),n=t(15),i=t(17),o=s.__importStar(t(18)),c=s.__importStar(t(21)),a=s.__importStar(t(28)),_=t(29),u=t(9),f=t(13),l=t(8),h=t(25),p=t(5),d=t(30),y=t(31),g=t(25),v=t(33),m=s.__importStar(t(21));class b extends(n.Signalable()){constructor(t={}){var e;super(),this._subtype=void 0,this.document=null,this.destroyed=new n.Signal0(this,\"destroyed\"),this.change=new n.Signal0(this,\"change\"),this.transformchange=new n.Signal0(this,\"transformchange\"),this.properties={},this._pending=!1,this._changing=!1;const r=t instanceof Map?t.get:e=>t[e];for(const[t,{type:e,default_value:s,options:n}]of f.entries(this._props)){let i;i=e instanceof c.Kind?new o.PrimitiveProperty(this,t,e,s,r(t),n):new e(this,t,c.Any,s,r(t),n),this.properties[t]=i}null!==(e=r(\"__deferred__\"))&&void 0!==e&&e||(this.finalize(),this.connect_signals())}set type(t){console.warn(\"prototype.type = 'ModelName' is deprecated, use static __name__ instead\"),this.constructor.__name__=t}get type(){return this.constructor.__qualified__}static get __qualified__(){const{__module__:t,__name__:e}=this;return null!=t?`${t}.${e}`:e}static get[Symbol.toStringTag](){return this.__name__}static init_HasProps(){this.prototype._props={},this.prototype._mixins=[],this.define({id:[o.String,()=>_.uniqueId()]})}static _fix_default(t,e){if(void 0!==t){if(l.isFunction(t))return t;if(l.isArray(t))return()=>u.copy(t);if(l.isPlainObject(t))return()=>f.clone(t);if(l.isObject(t))throw new Error(t+\" must be explicitly wrapped in a function\");return()=>t}}static define(t){for(const[e,r]of f.entries(l.isFunction(t)?t(m):t)){if(null!=this.prototype._props[e])throw new Error(`attempted to redefine property '${this.prototype.type}.${e}'`);if(null!=this.prototype[e])throw new Error(`attempted to redefine attribute '${this.prototype.type}.${e}'`);Object.defineProperty(this.prototype,e,{get(){return this.properties[e].get_value()},set(t){return this.setv({[e]:t}),this},configurable:!1,enumerable:!0});const[t,s,n]=r,i={type:t,default_value:this._fix_default(s,e),options:n},o=f.clone(this.prototype._props);o[e]=i,this.prototype._props=o}}static internal(t){const e={};for(const[r,s]of f.entries(t)){const[t,n,i={}]=s;e[r]=[t,n,Object.assign(Object.assign({},i),{internal:!0})]}this.define(e)}static mixins(t){function e(t){switch(t){case\"line\":return a.LineVector;case\"fill\":return a.FillVector;case\"hatch\":return a.HatchVector;case\"text\":return a.TextVector;default:throw new Error(`Unknown property mixin kind '${t}'`)}}function r(t,e){const r={};for(const[s,n]of f.entries(e))r[t+s]=n;return r}function s(t){const[e]=Object.keys(t),[r]=e.split(\"_\",1);return r}l.isArray(t)||(t=[t]);const n={},i=[];for(const o of t)if(l.isString(o)){const[t,s=\"\"]=o.split(\":\"),c=e(t);i.push(o),f.extend(n,r(s,c))}else if(l.isArray(o)){const[t,e]=o;i.push(`${s(e)}:${t}`),f.extend(n,r(t,e))}else{const t=o;i.push(s(t)),f.extend(n,t)}this.define(n),this.prototype._mixins=[...this.prototype._mixins,...i]}static override(t){for(const[e,r]of f.entries(t)){const t=this._fix_default(r,e),s=this.prototype._props[e];if(null==s)throw new Error(`attempted to override nonexistent '${this.prototype.type}.${e}'`);const n=f.clone(this.prototype._props);n[e]=Object.assign(Object.assign({},s),{default_value:t}),this.prototype._props=n}}toString(){return`${this.type}(${this.id})`}property(t){const e=this.properties[t];if(null!=e)return e;throw new Error(`unknown property ${this.type}.${t}`)}get attributes(){const t={};for(const e of this)t[e.attr]=e.get_value();return t}[g.equals](t,e){for(const r of this){const s=t.property(r.attr);if(e.eq(r.get_value(),s.get_value()))return!1}return!0}[v.pretty](t){const e=t.token,r=[];for(const s of this)if(s.dirty){const n=s.get_value();r.push(`${s.attr}${e(\":\")} ${t.to_string(n)}`)}return`${this.constructor.__qualified__}${e(\"(\")}${e(\"{\")}${r.join(e(\",\")+\" \")}${e(\"}\")}${e(\")\")}`}finalize(){for(const t of this)null!=t.spec.transform&&this.connect(t.spec.transform.change,()=>this.transformchange.emit());this.initialize()}initialize(){}connect_signals(){}disconnect_signals(){n.Signal.disconnectReceiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return new this.constructor(this.attributes)}_setv(t,e){const r=e.check_eq,s=[],n=this._changing;this._changing=!0;for(const[e,n]of t)!1!==r&&h.isEqual(e.get_value(),n)||(e.set_value(n),s.push(e));s.length>0&&(this._pending=!0);for(const t of s)t.change.emit();if(!n){if(!e.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}}setv(t,e={}){const r=f.entries(t);if(0==r.length)return;if(!0===e.silent){for(const[t,e]of r)this.properties[t].set_value(e);return}const s=new Map,n=new Map;for(const[t,e]of r){const r=this.properties[t];s.set(r,e),n.set(r,r.get_value())}this._setv(s,e);const{document:i}=this;if(null!=i){const t=[];for(const[e,r]of n)t.push([e,r,e.get_value()]);for(const[,e,r]of t)if(this._needs_invalidate(e,r)){i._invalidate_all_models();break}this._push_changes(t,e)}}getv(t){return this.property(t).get_value()}ref(){return{id:this.id}}struct(){const t={type:this.type,id:this.id,attributes:{}};return null!=this._subtype&&(t.subtype=this._subtype),t}set_subtype(t){this._subtype=t}*[Symbol.iterator](){yield*f.values(this.properties)}*syncable_properties(){for(const t of this)t.syncable&&(yield t)}serializable_attributes(){const t={};for(const e of this.syncable_properties())t[e.attr]=e.get_value();return t}static _value_to_json(t){if(t instanceof b)return t.ref();if(d.is_NDArray(t))return y.encode_NDArray(t);if(l.isArray(t)||l.isTypedArray(t)){const e=t.length,r=new Array(e);for(let s=0;sn.signal===t&&n.slot===e&&n.context===l)}const g=new Set;function a(n){0===g.size&&l.defer(f),g.add(n)}function f(){for(const n of g)s.remove_by(n,n=>null==n.signal);g.clear()}},\n", + " function _(n,e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.delay=\n", + " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " function(n,e){return setTimeout(n,e)};const u=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;t.defer=function(n){return new Promise(e=>{u(()=>e(n()))})},t.throttle=function(n,e,t={}){let u,o,i,r=null,l=0;const c=function(){l=!1===t.leading?0:Date.now(),r=null,i=n.apply(u,o),r||(u=o=null)};return function(){const a=Date.now();l||!1!==t.leading||(l=a);const f=e-(a-l);return u=this,o=arguments,f<=0||f>e?(r&&(clearTimeout(r),r=null),l=a,i=n.apply(u,o),r||(u=o=null)):r||!1===t.trailing||(r=setTimeout(c,f)),i}},t.once=function(n){let e,t=!1;return function(){return t||(t=!0,e=n()),e}}},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(8),r=e(13);t.is_ref=function(e){if(i.isPlainObject(e)){const n=r.keys(e);return 1==n.length&&\"id\"==n[0]}return!1}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const a=e(1),s=e(15),i=e(19),r=a.__importStar(e(20)),l=e(24),o=e(9),c=e(12),_=e(22),u=e(8),d=e(27);function p(e){try{return JSON.stringify(e)}catch(t){return e.toString()}}function S(e){return u.isPlainObject(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}n.isSpec=S;class m{constructor(e,t,n,a,i,r={}){var l,o;let c;if(this.obj=e,this.attr=t,this.kind=n,this.default_value=a,this._dirty=!1,this.change=new s.Signal0(this.obj,\"change\"),this.internal=null!==(l=r.internal)&&void 0!==l&&l,this.optional=null!==(o=r.optional)&&void 0!==o&&o,void 0!==i)c=i,this._dirty=!0;else{const t=this._default_override();c=void 0!==t?t:void 0!==a?a(e):null}this._update(c)}get is_value(){return void 0!==this.spec.value}get syncable(){return!this.internal}get_value(){return this.spec.value}set_value(e){this._update(e),this._dirty=!0}_default_override(){}get dirty(){return this._dirty}_update(e){null!=e&&this.validate(e),this.spec={value:e}}toString(){return`Prop(${this.obj}.${this.attr}, spec: ${p(this.spec)})`}normalize(e){return e}validate(e){if(!this.valid(e))throw new Error(`${this.obj.type}.${this.attr} given invalid value: ${p(e)}`)}valid(e){return this.kind.valid(e)}value(e=!0){if(!this.is_value)throw new Error(\"attempted to retrieve property value for property without value specification\");let t=this.normalize([this.spec.value])[0];return null!=this.spec.transform&&e&&(t=this.spec.transform.compute(t)),t}}n.Property=m,m.__name__=\"Property\";class h extends m{}n.PrimitiveProperty=h,h.__name__=\"PrimitiveProperty\";class v extends m{}n.Any=v,v.__name__=\"Any\";class g extends m{valid(e){return u.isArray(e)||e instanceof Float32Array||e instanceof Float64Array}}n.Array=g,g.__name__=\"Array\";class x extends m{valid(e){return u.isBoolean(e)}}n.Boolean=x,x.__name__=\"Boolean\";class y extends m{valid(e){return u.isString(e)&&_.is_color(e)}}n.Color=y,y.__name__=\"Color\";class f extends m{}n.Instance=f,f.__name__=\"Instance\";class A extends m{valid(e){return u.isNumber(e)}}n.Number=A,A.__name__=\"Number\";class P extends A{valid(e){return u.isNumber(e)&&(0|e)==e}}n.Int=P,P.__name__=\"Int\";class C extends A{}n.Angle=C,C.__name__=\"Angle\";class b extends A{valid(e){return u.isNumber(e)&&0<=e&&e<=1}}n.Percent=b,b.__name__=\"Percent\";class L extends m{valid(e){return u.isString(e)}}n.String=L,L.__name__=\"String\";class N extends m{valid(e){return null===e||u.isString(e)}}n.NullString=N,N.__name__=\"NullString\";class T extends L{}n.FontSize=T,T.__name__=\"FontSize\";class q extends L{_default_override(){return d.settings.dev?\"Bokeh\":void 0}}n.Font=q,q.__name__=\"Font\";class B extends m{valid(e){return u.isString(e)&&o.includes(this.enum_values,e)}}function M(e){return class extends B{get enum_values(){return[...e]}}}n.EnumProperty=B,B.__name__=\"EnumProperty\",n.Enum=M;class w extends B{get enum_values(){return[...r.Direction]}normalize(e){const t=new Uint8Array(e.length);for(let n=0;ne*Math.PI/180)),e=c.map(e,e=>-e),super.normalize(e)}}n.AngleSpec=re,re.__name__=\"AngleSpec\";class le extends G{get default_units(){return\"data\"}get valid_units(){return[...r.SpatialUnits]}}n.DistanceSpec=le,le.__name__=\"DistanceSpec\";class oe extends J{array(e){return new Uint8Array(super.array(e))}}n.BooleanSpec=oe,oe.__name__=\"BooleanSpec\";class ce extends J{array(e){return new l.NumberArray(super.array(e))}}n.NumberSpec=ce,ce.__name__=\"NumberSpec\";class _e extends J{array(e){const t=super.array(e),n=t.length,a=new l.ColorArray(n);for(let e=0;e0){let o=s[e];return null==o&&(s[e]=o=new r(e,l)),o}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")}get level(){return this.get_level()}get_level(){return this._log_level}set_level(e){if(e instanceof g)this._log_level=e;else{if(!n.isString(e)||null==r.log_levels[e])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=r.log_levels[e]}const l=`[${this._name}]`;for(const[e,o]of t.entries(r.log_levels))o.level\",\"*\"),t.HTTPMethod=o.Enum(\"POST\",\"GET\"),t.HexTileOrientation=o.Enum(\"pointytop\",\"flattop\"),t.HoverMode=o.Enum(\"mouse\",\"hline\",\"vline\"),t.LatLon=o.Enum(\"lat\",\"lon\"),t.LegendClickPolicy=o.Enum(\"none\",\"hide\",\"mute\"),t.LegendLocation=t.Anchor,t.LineCap=o.Enum(\"butt\",\"round\",\"square\"),t.LineJoin=o.Enum(\"miter\",\"round\",\"bevel\"),t.LinePolicy=o.Enum(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),t.Location=o.Enum(\"above\",\"below\",\"left\",\"right\"),t.Logo=o.Enum(\"normal\",\"grey\"),t.MarkerType=o.Enum(\"asterisk\",\"circle\",\"circle_cross\",\"circle_dot\",\"circle_x\",\"circle_y\",\"cross\",\"dash\",\"diamond\",\"diamond_cross\",\"diamond_dot\",\"dot\",\"hex\",\"hex_dot\",\"inverted_triangle\",\"plus\",\"square\",\"square_cross\",\"square_dot\",\"square_pin\",\"square_x\",\"triangle\",\"triangle_dot\",\"triangle_pin\",\"x\",\"y\"),t.MutedPolicy=o.Enum(\"show\",\"ignore\"),t.Orientation=o.Enum(\"vertical\",\"horizontal\"),t.OutputBackend=o.Enum(\"canvas\",\"svg\",\"webgl\"),t.PaddingUnits=o.Enum(\"percent\",\"absolute\"),t.Place=o.Enum(\"above\",\"below\",\"left\",\"right\",\"center\"),t.PointPolicy=o.Enum(\"snap_to_data\",\"follow_mouse\",\"none\"),t.RadiusDimension=o.Enum(\"x\",\"y\",\"max\",\"min\"),t.RenderLevel=o.Enum(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),t.RenderMode=o.Enum(\"canvas\",\"css\"),t.ResetPolicy=o.Enum(\"standard\",\"event_only\"),t.RoundingFunction=o.Enum(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),t.SelectionMode=o.Enum(\"replace\",\"append\",\"intersect\",\"subtract\"),t.Side=o.Enum(\"above\",\"below\",\"left\",\"right\"),t.SizingMode=o.Enum(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"),t.Sort=o.Enum(\"ascending\",\"descending\"),t.SpatialUnits=o.Enum(\"screen\",\"data\"),t.StartEnd=o.Enum(\"start\",\"end\"),t.StepMode=o.Enum(\"after\",\"before\",\"center\"),t.TapBehavior=o.Enum(\"select\",\"inspect\"),t.TextAlign=o.Enum(\"left\",\"right\",\"center\"),t.TextBaseline=o.Enum(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),t.TextureRepetition=o.Enum(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),t.TickLabelOrientation=o.Enum(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),t.TooltipAttachment=o.Enum(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),t.UpdateMode=o.Enum(\"replace\",\"append\"),t.VerticalAlign=o.Enum(\"top\",\"middle\",\"bottom\")},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1).__importStar(e(8)),r=e(22);class i{}t.Kind=i,i.__name__=\"Kind\",function(e){class n extends i{valid(e){return!0}}n.__name__=\"Any\",e.Any=n;class t extends i{valid(e){return!0}}t.__name__=\"Unknown\",e.Unknown=t;class l extends i{valid(e){return s.isBoolean(e)}}l.__name__=\"Boolean\",e.Boolean=l;class a extends i{constructor(e){super(),this.obj_type=e}valid(e){return!0}}a.__name__=\"Ref\",e.Ref=a;class _ extends i{valid(e){return s.isNumber(e)}}_.__name__=\"Number\",e.Number=_;class u extends _{valid(e){return super.valid(e)&&s.isInteger(e)}}u.__name__=\"Int\",e.Int=u;class d extends i{constructor(e){super(),this.types=e,this.types=e}valid(e){return this.types.some(n=>n.valid(e))}}d.__name__=\"Or\",e.Or=d;class o extends i{constructor(e){super(),this.types=e,this.types=e}valid(e){if(!s.isArray(e))return!1;for(let n=0;nthis.item_type.valid(e))}}c.__name__=\"Array\",e.Array=c;class m extends i{valid(e){return null===e}}m.__name__=\"Null\",e.Null=m;class p extends i{constructor(e){super(),this.base_type=e}valid(e){return null===e||this.base_type.valid(e)}}p.__name__=\"Nullable\",e.Nullable=p;class y extends i{valid(e){return s.isString(e)}}y.__name__=\"String\",e.String=y;class v extends i{constructor(e){super(),this.values=new Set(e)}valid(e){return this.values.has(e)}*[Symbol.iterator](){yield*this.values}}v.__name__=\"Enum\",e.Enum=v;class h extends i{constructor(e){super(),this.item_type=e}valid(e){if(!s.isPlainObject(e))return!1;for(const n in e)if(e.hasOwnProperty(n)){const t=e[n];if(!this.item_type.valid(t))return!1}return!0}}h.__name__=\"Struct\",e.Struct=h;class w extends i{constructor(e,n){super(),this.key_type=e,this.item_type=n}valid(e){if(!(e instanceof Map))return!1;for(const[n,t]of e.entries())if(!this.key_type.valid(n)||!this.item_type.valid(t))return!1;return!0}}w.__name__=\"Dict\",e.Dict=w;class K extends i{valid(e){return s.isString(e)&&r.is_color(e)}}K.__name__=\"Color\",e.Color=K;class f extends _{valid(e){return super.valid(e)&&0<=e&&e<=1}}f.__name__=\"Percent\",e.Percent=f}(t.Kinds||(t.Kinds={})),t.Any=new t.Kinds.Any,t.Unknown=new t.Kinds.Unknown,t.Boolean=new t.Kinds.Boolean,t.Number=new t.Kinds.Number,t.Int=new t.Kinds.Int,t.String=new t.Kinds.String,t.Null=new t.Kinds.Null,t.Nullable=e=>new t.Kinds.Nullable(e),t.Or=(...e)=>new t.Kinds.Or(e),t.Tuple=(...e)=>new t.Kinds.Tuple(e),t.Array=e=>new t.Kinds.Array(e),t.Struct=e=>new t.Kinds.Struct(e),t.Dict=(e,n)=>new t.Kinds.Dict(e,n),t.Enum=(...e)=>new t.Kinds.Enum(e),t.Ref=e=>new t.Kinds.Ref(e),t.Percent=new t.Kinds.Percent,t.Color=new t.Kinds.Color,t.Auto=t.Enum(\"auto\"),t.FontSize=t.String,t.Font=t.String,t.Angle=t.Number},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(23),l=e(9);function a(e){const r=Number(e).toString(16);return 1==r.length?\"0\"+r:r}function o(e){if(0==(e+=\"\").indexOf(\"#\"))return e;if(n.is_svg_color(e))return n.svg_colors[e];if(0==e.indexOf(\"rgb\")){const r=e.replace(/^rgba?\\(|\\s+|\\)$/g,\"\").split(\",\");let t=r.slice(0,3).map(a).join(\"\");return 4==r.length&&(t+=a(Math.floor(255*parseFloat(r[3])))),\"#\"+t.slice(0,8)}return e}function s(e){let r;switch(e.substring(0,4)){case\"rgba\":r={start:\"rgba(\",len:4,alpha:!0};break;case\"rgb(\":r={start:\"rgb(\",len:3,alpha:!1};break;default:return!1}if(new RegExp(\".*?(\\\\.).*(,)\").test(e))return!1;const t=e.replace(r.start,\"\").replace(\")\",\"\").split(\",\").map(parseFloat);return t.length==r.len&&((!r.alpha||0<=t[3]&&t[3]<=1)&&!l.includes(t.slice(0,3).map(e=>0<=e&&e<=255),!1))}t.is_color=function(e){return n.is_svg_color(e.toLowerCase())||\"#\"==e.substring(0,1)||s(e)},t.rgb2hex=function(e,r,t){return`#${a(255&e)}${a(255&r)}${a(255&t)}`},t.color2hex=o,t.encode_rgba=function([e,r,t,n]){return(255*e|0)<<24|(255*r|0)<<16|(255*t|0)<<8|255*n|0},t.decode_rgba=function(e){return[(e>>24&255)/255,(e>>16&255)/255,(e>>8&255)/255,(e>>0&255)/255]},t.color2rgba=function(e,r=1){if(!e)return[0,0,0,0];let t=o(e);t=t.replace(/ |#/g,\"\"),t.length<=4&&(t=t.replace(/(.)/g,\"$1$1\"));const n=t.match(/../g).map(e=>parseInt(e,16)/255);for(;n.length<3;)n.push(0);return n.length<4&&n.push(r),n.slice(0,4)},t.valid_rgb=s},\n", + " function _(e,F,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.svg_colors={indianred:\"#CD5C5C\",lightcoral:\"#F08080\",salmon:\"#FA8072\",darksalmon:\"#E9967A\",lightsalmon:\"#FFA07A\",crimson:\"#DC143C\",red:\"#FF0000\",firebrick:\"#B22222\",darkred:\"#8B0000\",pink:\"#FFC0CB\",lightpink:\"#FFB6C1\",hotpink:\"#FF69B4\",deeppink:\"#FF1493\",mediumvioletred:\"#C71585\",palevioletred:\"#DB7093\",coral:\"#FF7F50\",tomato:\"#FF6347\",orangered:\"#FF4500\",darkorange:\"#FF8C00\",orange:\"#FFA500\",gold:\"#FFD700\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",lemonchiffon:\"#FFFACD\",lightgoldenrodyellow:\"#FAFAD2\",papayawhip:\"#FFEFD5\",moccasin:\"#FFE4B5\",peachpuff:\"#FFDAB9\",palegoldenrod:\"#EEE8AA\",khaki:\"#F0E68C\",darkkhaki:\"#BDB76B\",lavender:\"#E6E6FA\",thistle:\"#D8BFD8\",plum:\"#DDA0DD\",violet:\"#EE82EE\",orchid:\"#DA70D6\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",blueviolet:\"#8A2BE2\",darkviolet:\"#9400D3\",darkorchid:\"#9932CC\",darkmagenta:\"#8B008B\",purple:\"#800080\",indigo:\"#4B0082\",slateblue:\"#6A5ACD\",darkslateblue:\"#483D8B\",mediumslateblue:\"#7B68EE\",greenyellow:\"#ADFF2F\",chartreuse:\"#7FFF00\",lawngreen:\"#7CFC00\",lime:\"#00FF00\",limegreen:\"#32CD32\",palegreen:\"#98FB98\",lightgreen:\"#90EE90\",mediumspringgreen:\"#00FA9A\",springgreen:\"#00FF7F\",mediumseagreen:\"#3CB371\",seagreen:\"#2E8B57\",forestgreen:\"#228B22\",green:\"#008000\",darkgreen:\"#006400\",yellowgreen:\"#9ACD32\",olivedrab:\"#6B8E23\",olive:\"#808000\",darkolivegreen:\"#556B2F\",mediumaquamarine:\"#66CDAA\",darkseagreen:\"#8FBC8F\",lightseagreen:\"#20B2AA\",darkcyan:\"#008B8B\",teal:\"#008080\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",lightcyan:\"#E0FFFF\",paleturquoise:\"#AFEEEE\",aquamarine:\"#7FFFD4\",turquoise:\"#40E0D0\",mediumturquoise:\"#48D1CC\",darkturquoise:\"#00CED1\",cadetblue:\"#5F9EA0\",steelblue:\"#4682B4\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",lightblue:\"#ADD8E6\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",deepskyblue:\"#00BFFF\",dodgerblue:\"#1E90FF\",cornflowerblue:\"#6495ED\",royalblue:\"#4169E1\",blue:\"#0000FF\",mediumblue:\"#0000CD\",darkblue:\"#00008B\",navy:\"#000080\",midnightblue:\"#191970\",cornsilk:\"#FFF8DC\",blanchedalmond:\"#FFEBCD\",bisque:\"#FFE4C4\",navajowhite:\"#FFDEAD\",wheat:\"#F5DEB3\",burlywood:\"#DEB887\",tan:\"#D2B48C\",rosybrown:\"#BC8F8F\",sandybrown:\"#F4A460\",goldenrod:\"#DAA520\",darkgoldenrod:\"#B8860B\",peru:\"#CD853F\",chocolate:\"#D2691E\",saddlebrown:\"#8B4513\",sienna:\"#A0522D\",brown:\"#A52A2A\",maroon:\"#800000\",white:\"#FFFFFF\",snow:\"#FFFAFA\",honeydew:\"#F0FFF0\",mintcream:\"#F5FFFA\",azure:\"#F0FFFF\",aliceblue:\"#F0F8FF\",ghostwhite:\"#F8F8FF\",whitesmoke:\"#F5F5F5\",seashell:\"#FFF5EE\",beige:\"#F5F5DC\",oldlace:\"#FDF5E6\",floralwhite:\"#FFFAF0\",ivory:\"#FFFFF0\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lavenderblush:\"#FFF0F5\",mistyrose:\"#FFE4E1\",gainsboro:\"#DCDCDC\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",silver:\"#C0C0C0\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",gray:\"#808080\",grey:\"#808080\",dimgray:\"#696969\",dimgrey:\"#696969\",lightslategray:\"#778899\",lightslategrey:\"#778899\",slategray:\"#708090\",slategrey:\"#708090\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",black:\"#000000\"},r.is_svg_color=function(e){return e in r.svg_colors}},\n", + " function _(r,t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.NumberArray=Float32Array,e.ColorArray=Uint32Array;const s=r(25);class a{constructor(r,t){this.offsets=r,this.array=t}[s.equals](r,t){return t.arrays(this.offsets,r.offsets)&&t.arrays(this.array,r.array)}get length(){return this.offsets.length}clone(){return new a(new Uint32Array(this.offsets),new e.NumberArray(this.array))}static from(r){const t=r.length,s=new Uint32Array(t);let n=0;for(let e=0;e{if(null!=t[r.equals]&&null!=e[r.equals])return t[r.equals](e,this);switch(s){case\"[object Array]\":case\"[object Uint8Array]\":case\"[object Int8Array]\":case\"[object Uint16Array]\":case\"[object Int16Array]\":case\"[object Uint32Array]\":case\"[object Int32Array]\":case\"[object Float32Array]\":case\"[object Float64Array]\":return this.arrays(t,e);case\"[object Map]\":return this.maps(t,e);case\"[object Set]\":return this.sets(t,e);case\"[object Object]\":if(t.constructor==e.constructor&&(null==t.constructor||t.constructor===Object))return this.objects(t,e);case\"[object Function]\":if(t.constructor==e.constructor&&t.constructor===Function)return this.eq(\"\"+t,\"\"+e)}if(t instanceof Node)return this.nodes(t,e);throw Error(\"can't compare objects of type \"+s)})();return o.pop(),c.pop(),i}numbers(t,e){return Object.is(t,e)}arrays(t,e){const{length:r}=t;if(r!=e.length)return!1;for(let n=0;n>>5,r=31&t;return!!(this._array[s]>>r&1)}set(t,s=!0){this._check_bounds(t),this._count=null;const r=t>>>5,e=31&t;s?this._array[r]|=1<>>t&1&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1&&(yield e);else e+=32}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1||(yield e);else e+=32}}_check_size(t){e.assert(this.size==t.size,\"Size mismatch\")}add(t){this._check_size(t);for(let s=0;st(this.at(s,r),s,r))}apply(t){const s=a.from(t),{nrows:r,ncols:e}=this;if(r==s.nrows&&e==s.ncols)return new a(r,e,(t,r)=>s.at(t,r)(this.at(t,r),t,r));throw new Error(\"dimensions don't match\")}to_sparse(){return[...this]}static from(t,s){if(t instanceof a)return t;if(null!=s){const r=t,e=Math.floor(r.length/s);return new a(e,s,(t,e)=>r[t*s+e])}{const s=t,r=t.length,e=i.min(s.map(t=>t.length));return new a(r,e,(t,r)=>s[t][r])}}}r.Matrix=a,a.__name__=\"Matrix\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});class n{constructor(){this._dev=!1}set dev(e){this._dev=e}get dev(){return this._dev}}s.Settings=n,n.__name__=\"Settings\",s.settings=new n},\n", + " function _(e,l,t){Object.defineProperty(t,\"__esModule\",{value:!0});const a=e(1).__importStar(e(18));t.Line={line_color:[a.Color,\"black\"],line_alpha:[a.Number,1],line_width:[a.Number,1],line_join:[a.LineJoin,\"bevel\"],line_cap:[a.LineCap,\"butt\"],line_dash:[a.Array,[]],line_dash_offset:[a.Number,0]},t.Fill={fill_color:[a.Color,\"gray\"],fill_alpha:[a.Number,1]},t.Hatch={hatch_color:[a.Color,\"black\"],hatch_alpha:[a.Number,1],hatch_scale:[a.Number,12],hatch_pattern:[a.NullString,null],hatch_weight:[a.Number,1],hatch_extra:[a.Any,{}]},t.Text={text_color:[a.Color,\"#444444\"],text_alpha:[a.Number,1],text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSize,\"16px\"],text_font_style:[a.FontStyle,\"normal\"],text_align:[a.TextAlign,\"left\"],text_baseline:[a.TextBaseline,\"bottom\"],text_line_height:[a.Number,1.2]},t.LineScalar={line_color:[a.ColorScalar,\"black\"],line_alpha:[a.NumberScalar,1],line_width:[a.NumberScalar,1],line_join:[a.LineJoinScalar,\"bevel\"],line_cap:[a.LineCapScalar,\"butt\"],line_dash:[a.ArrayScalar,[]],line_dash_offset:[a.NumberScalar,0]},t.FillScalar={fill_color:[a.ColorScalar,\"gray\"],fill_alpha:[a.NumberScalar,1]},t.HatchScalar={hatch_color:[a.ColorScalar,\"black\"],hatch_alpha:[a.NumberScalar,1],hatch_scale:[a.NumberScalar,12],hatch_pattern:[a.NullStringScalar,null],hatch_weight:[a.NumberScalar,1],hatch_extra:[a.AnyScalar,{}]},t.TextScalar={text_color:[a.ColorScalar,\"#444444\"],text_alpha:[a.NumberScalar,1],text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSizeScalar,\"16px\"],text_font_style:[a.FontStyleScalar,\"normal\"],text_align:[a.TextAlignScalar,\"left\"],text_baseline:[a.TextBaselineScalar,\"bottom\"],text_line_height:[a.NumberScalar,1.2]},t.LineVector={line_color:[a.ColorSpec,\"black\"],line_alpha:[a.NumberSpec,1],line_width:[a.NumberSpec,1],line_join:[a.LineJoin,\"bevel\"],line_cap:[a.LineCap,\"butt\"],line_dash:[a.Array,[]],line_dash_offset:[a.Number,0]},t.FillVector={fill_color:[a.ColorSpec,\"gray\"],fill_alpha:[a.NumberSpec,1]},t.HatchVector={hatch_color:[a.ColorSpec,\"black\"],hatch_alpha:[a.NumberSpec,1],hatch_scale:[a.NumberSpec,12],hatch_pattern:[a.NullStringSpec,null],hatch_weight:[a.NumberSpec,1],hatch_extra:[a.Any,{}]},t.TextVector={text_color:[a.ColorSpec,\"#444444\"],text_alpha:[a.NumberSpec,1],text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSizeSpec,\"16px\"],text_font_style:[a.FontStyle,\"normal\"],text_align:[a.TextAlign,\"left\"],text_baseline:[a.TextBaseline,\"bottom\"],text_line_height:[a.Number,1.2]}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const n=t(27);function u(){const t=new Array(32);for(let e=0;e<32;e++)t[e]=\"0123456789ABCDEF\".substr(Math.floor(16*Math.random()),1);return t[12]=\"4\",t[16]=\"0123456789ABCDEF\".substr(3&t[16].charCodeAt(0)|8,1),t.join(\"\")}r.startsWith=function(t,e,r=0){return t.substr(r,e.length)==e},r.uuid4=u;let s=1e3;r.uniqueId=function(t){const e=n.settings.dev?\"j\"+s++:u();return null!=t?`${t}-${e}`:e},r.escape=function(t){return t.replace(/(?:[&<>\"'`])/g,t=>{switch(t){case\"&\":return\"&\";case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"`\":return\"`\";default:return t}})},r.unescape=function(t){return t.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,(t,e)=>{switch(e){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return e}})},r.use_strict=function(t){return\"'use strict';\\n\"+t}},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=t(8),a=t(11),n=t(25),i=Symbol(\"__ndarray__\");class h extends Uint8Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"uint8\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Uint8NDArray=h,h.__name__=\"Uint8NDArray\";class _ extends Int8Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"int8\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Int8NDArray=_,_.__name__=\"Int8NDArray\";class u extends Uint16Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"uint16\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Uint16NDArray=u,u.__name__=\"Uint16NDArray\";class l extends Int16Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"int16\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Int16NDArray=l,l.__name__=\"Int16NDArray\";class y extends Uint32Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"uint32\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Uint32NDArray=y,y.__name__=\"Uint32NDArray\";class c extends Int32Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"int32\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Int32NDArray=c,c.__name__=\"Int32NDArray\";class p extends Float32Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"float32\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Float32NDArray=p,p.__name__=\"Float32NDArray\";class o extends Float64Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"float64\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}function d(t){return r.isObject(t)&&t.__ndarray__==i}e.Float64NDArray=o,o.__name__=\"Float64NDArray\",e.is_NDArray=d,e.ndarray=function(t,s={}){let{dtype:e}=s;null==e&&(e=t instanceof ArrayBuffer||r.isArray(t)?\"float32\":(()=>{switch(!0){case t instanceof Uint8Array:return\"uint8\";case t instanceof Int8Array:return\"int8\";case t instanceof Uint16Array:return\"uint16\";case t instanceof Int16Array:return\"int16\";case t instanceof Uint32Array:return\"uint32\";case t instanceof Int32Array:return\"int32\";case t instanceof Float32Array:return\"float32\";case t instanceof Float64Array:return\"float64\";default:a.unreachable()}})());const{shape:n}=s;switch(e){case\"uint8\":return new h(t,n);case\"int8\":return new _(t,n);case\"uint16\":return new u(t,n);case\"int16\":return new l(t,n);case\"uint32\":return new y(t,n);case\"int32\":return new c(t,n);case\"float32\":return new p(t,n);case\"float64\":return new o(t,n)}}},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),a=e(8),f=e(32),_=n.__importStar(e(30));function o(e){const r=new Uint8Array(e),t=Array.from(r).map(e=>String.fromCharCode(e));return btoa(t.join(\"\"))}function s(e){const r=atob(e),t=r.length,n=new Uint8Array(t);for(let e=0,a=t;e{switch(a){case\"uint8\":return new _.Uint8NDArray(o,n);case\"int8\":return new _.Int8NDArray(o,n);case\"uint16\":return new _.Uint16NDArray(o,n);case\"int16\":return new _.Int16NDArray(o,n);case\"uint32\":return new _.Uint32NDArray(o,n);case\"int32\":return new _.Int32NDArray(o,n);case\"float32\":return new _.Float32NDArray(o,n);case\"float64\":return new _.Float64NDArray(o,n)}})();if(f!==t.BYTE_ORDER)switch(l.BYTES_PER_ELEMENT){case 2:i(l);break;case 4:u(l);break;case 8:c(l)}return l},t.encode_NDArray=function(e,r){const n={order:t.BYTE_ORDER,dtype:e.dtype,shape:e.shape};if(null!=r){const t=\"\"+r.size;return r.set(t,e.buffer),Object.assign({__buffer__:t},n)}{const r=o(e.buffer);return Object.assign({__ndarray__:r},n)}}},\n", + " function _(e,n,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.is_ie=(()=>{const e=\"undefined\"!=typeof navigator?navigator.userAgent:\"\";return e.indexOf(\"MSIE\")>=0||e.indexOf(\"Trident\")>0||e.indexOf(\"Edge\")>0})(),i.is_mobile=\"undefined\"!=typeof window&&(\"ontouchstart\"in window||navigator.maxTouchPoints>0),i.is_little_endian=(()=>{const e=new ArrayBuffer(4),n=new Uint8Array(e);new Uint32Array(e)[1]=168496141;let i=!0;return 10==n[4]&&11==n[5]&&12==n[6]&&13==n[7]&&(i=!1),i})()},\n", + " function _(t,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=t(8),i=t(13);n.pretty=Symbol(\"pretty\");class o{constructor(t){this.precision=null==t?void 0:t.precision}to_string(t){return function(t){return n.pretty in Object(t)}(t)?t[n.pretty](this):e.isBoolean(t)?this.boolean(t):e.isNumber(t)?this.number(t):e.isString(t)?this.string(t):e.isArray(t)?this.array(t):e.isIterable(t)?this.iterable(t):e.isPlainObject(t)?this.object(t):\"\"+t}token(t){return t}boolean(t){return\"\"+t}number(t){return null!=this.precision?t.toFixed(this.precision):\"\"+t}string(t){return`\"${t.replace(/'/g,\"\\\\'\")}\"`}array(t){const r=this.token,n=[];for(const r of t)n.push(this.to_string(r));return`${r(\"[\")}${n.join(r(\",\")+\" \")}${r(\"]\")}`}iterable(t){var r;const n=this.token,e=null!==(r=Object(t)[Symbol.toStringTag])&&void 0!==r?r:\"Object\",i=this.array(t);return`${e}${n(\"(\")}${i}${n(\")\")}`}object(t){const r=this.token,n=[];for(const[e,o]of i.entries(t))n.push(`${e}${r(\":\")} ${this.to_string(o)}`);return`${r(\"{\")}${n.join(r(\",\")+\" \")}${r(\"}\")}`}}n.Printer=o,o.__name__=\"Printer\",n.to_string=function(t,r){return new o(r).to_string(t)}},\n", + " function _(t,_,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=t(1);e.__exportStar(t(35),r),e.__exportStar(t(176),r),e.__exportStar(t(203),r),e.__exportStar(t(207),r),e.__exportStar(t(218),r),e.__exportStar(t(222),r),e.__exportStar(t(228),r),e.__exportStar(t(232),r),e.__exportStar(t(265),r),e.__exportStar(t(268),r),e.__exportStar(t(270),r),e.__exportStar(t(132),r),e.__exportStar(t(148),r),e.__exportStar(t(287),r),e.__exportStar(t(291),r),e.__exportStar(t(320),r),e.__exportStar(t(321),r),e.__exportStar(t(322),r),e.__exportStar(t(323),r),e.__exportStar(t(324),r),e.__exportStar(t(329),r),e.__exportStar(t(331),r),e.__exportStar(t(342),r),e.__exportStar(t(346),r)},\n", + " function _(a,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});var r=a(36);o.Annotation=r.Annotation;var n=a(83);o.Arrow=n.Arrow;var t=a(84);o.ArrowHead=t.ArrowHead;var v=a(84);o.OpenHead=v.OpenHead;var l=a(84);o.NormalHead=l.NormalHead;var d=a(84);o.TeeHead=d.TeeHead;var i=a(84);o.VeeHead=i.VeeHead;var A=a(122);o.Band=A.Band;var H=a(124);o.BoxAnnotation=H.BoxAnnotation;var T=a(125);o.ColorBar=T.ColorBar;var p=a(160);o.Label=p.Label;var L=a(162);o.LabelSet=L.LabelSet;var b=a(163);o.Legend=b.Legend;var B=a(164);o.LegendItem=B.LegendItem;var S=a(166);o.PolyAnnotation=S.PolyAnnotation;var P=a(167);o.Slope=P.Slope;var g=a(168);o.Span=g.Span;var m=a(161);o.TextAnnotation=m.TextAnnotation;var w=a(169);o.Title=w.Title;var x=a(170);o.ToolbarPanel=x.ToolbarPanel;var s=a(171);o.Tooltip=s.Tooltip;var u=a(175);o.Whisker=u.Whisker},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=t(1).__importStar(t(37)),i=t(13),o=t(70);class _ extends o.RendererView{get panel(){return this.layout}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.visible,()=>this.plot_view.request_layout())}get_size(){if(this.model.visible){const{width:t,height:e}=this._get_size();return{width:Math.round(t),height:Math.round(e)}}return{width:0,height:0}}_get_size(){throw new Error(\"not implemented\")}set_data(t){const e=this.model.materialize_dataspecs(t);if(i.extend(this,e),this.plot_model.use_map){const t=this;null!=t._x&&([t._x,t._y]=s.project_xy(t._x,t._y)),null!=t._xs&&([t._xs,t._ys]=s.project_xsys(t._xs,t._ys))}}get needs_clip(){return null==this.layout}serializable_state(){const t=super.serializable_state();return null==this.layout?t:Object.assign(Object.assign({},t),{bbox:this.layout.bbox.box})}}n.AnnotationView=_,_.__name__=\"AnnotationView\";class a extends o.Renderer{constructor(t){super(t)}static init_Annotation(){this.override({level:\"annotation\"})}}n.Annotation=a,a.__name__=\"Annotation\",a.init_Annotation()},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=n(1),o=r.__importDefault(n(38)),l=r.__importDefault(n(39)),c=n(24),i=new l.default(\"GOOGLE\"),u=new l.default(\"WGS84\"),a=o.default(u,i);e.wgs84_mercator={compute:(n,t)=>isFinite(n)&&isFinite(t)?a.forward([n,t]):[NaN,NaN],invert:(n,t)=>isFinite(n)&&isFinite(t)?a.inverse([n,t]):[NaN,NaN]};const s={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},f={lon:[-180,180],lat:[-85.06,85.06]},{min:_,max:p}=Math;function m(n,t){const r=_(n.length,t.length),o=new c.NumberArray(r),l=new c.NumberArray(r);return e.inplace.project_xy(n,t,o,l),[o,l]}e.clip_mercator=function(n,t,e){const[r,o]=s[e];return[p(n,r),_(t,o)]},e.in_bounds=function(n,t){const[e,r]=f[t];return e2?void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name?\"number\"==typeof r.z?[r.x,r.y,r.z].concat(t.splice(3)):[r.x,r.y,t[2]].concat(t.splice(3)):[r.x,r.y].concat(t.splice(2)):[r.x,r.y]):(o=a.default(e,n,t),2===(i=Object.keys(t)).length||i.forEach((function(r){if(void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name){if(\"x\"===r||\"y\"===r||\"z\"===r)return}else if(\"x\"===r||\"y\"===r)return;o[r]=t[r]})),o)}function u(e){return e instanceof o.default?e:e.oProj?e.oProj:o.default(e)}t.default=function(e,n,t){e=u(e);var r,o=!1;return void 0===n?(n=e,e=i,o=!0):(void 0!==n.x||Array.isArray(n))&&(t=n,n=e,e=i,o=!0),n=u(n),t?c(e,n,t):(r={forward:function(t){return c(e,n,t)},inverse:function(t){return c(n,e,t)}},o&&(r.oProj=n),r)}},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const s=e(1),i=s.__importDefault(e(40)),u=s.__importDefault(e(51)),l=s.__importDefault(e(52)),o=e(60),r=s.__importDefault(e(62)),f=s.__importDefault(e(63)),d=s.__importDefault(e(47));function p(e,t){if(!(this instanceof p))return new p(e);t=t||function(e){if(e)throw e};var a=i.default(e);if(\"object\"==typeof a){var s=p.projections.get(a.projName);if(s){if(a.datumCode&&\"none\"!==a.datumCode){var l=d.default(r.default,a.datumCode);l&&(a.datum_params=l.towgs84?l.towgs84.split(\",\"):null,a.ellps=l.ellipse,a.datumName=l.datumName?l.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||\"enu\",a.ellps=a.ellps||\"wgs84\";var m=o.sphere(a.a,a.b,a.rf,a.ellps,a.sphere),n=o.eccentricity(m.a,m.b,m.rf,a.R_A),h=a.datum||f.default(a.datumCode,a.datum_params,m.a,m.b,n.es,n.ep2);u.default(this,a),u.default(this,s),this.a=m.a,this.b=m.b,this.rf=m.rf,this.sphere=m.sphere,this.es=n.es,this.e=n.e,this.ep2=n.ep2,this.datum=h,this.init(),t(null,this)}else t(e)}else t(e)}p.projections=l.default,p.projections.start(),a.default=p},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const u=t(1),n=u.__importDefault(t(41)),f=u.__importDefault(t(48)),i=u.__importDefault(t(43)),a=u.__importDefault(t(47));var o=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];var l=[\"3857\",\"900913\",\"3785\",\"102113\"];r.default=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in n.default}(t))return n.default[t];if(function(t){return o.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=f.default(t);if(function(t){var e=a.default(t,\"authority\");if(e){var r=a.default(e,\"epsg\");return r&&l.indexOf(r)>-1}}(e))return n.default[\"EPSG:3857\"];var r=function(t){var e=a.default(t,\"extension\");if(e)return a.default(e,\"proj4\")}(e);return r?i.default(r):e}return function(t){return\"+\"===t[0]}(t)?i.default(t):void 0}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=t(1),n=i.__importDefault(t(42)),f=i.__importDefault(t(43)),a=i.__importDefault(t(48));function l(t){var e=this;if(2===arguments.length){var r=arguments[1];\"string\"==typeof r?\"+\"===r.charAt(0)?l[t]=f.default(arguments[1]):l[t]=a.default(arguments[1]):l[t]=r}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?l.apply(e,t):l(t)}));if(\"string\"==typeof t){if(t in l)return l[t]}else\"EPSG\"in t?l[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?l[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?l[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}n.default(l),r.default=l},\n", + " function _(e,t,l){Object.defineProperty(l,\"__esModule\",{value:!0}),l.default=function(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}},\n", + " function _(t,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});const e=t(1),a=t(44),u=e.__importDefault(t(45)),r=e.__importDefault(t(46)),i=e.__importDefault(t(47));o.default=function(t){var n,o,e,f={},l=t.split(\"+\").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,n){var o=n.split(\"=\");return o.push(!0),t[o[0].toLowerCase()]=o[1],t}),{}),c={proj:\"projName\",datum:\"datumCode\",rf:function(t){f.rf=parseFloat(t)},lat_0:function(t){f.lat0=t*a.D2R},lat_1:function(t){f.lat1=t*a.D2R},lat_2:function(t){f.lat2=t*a.D2R},lat_ts:function(t){f.lat_ts=t*a.D2R},lon_0:function(t){f.long0=t*a.D2R},lon_1:function(t){f.long1=t*a.D2R},lon_2:function(t){f.long2=t*a.D2R},alpha:function(t){f.alpha=parseFloat(t)*a.D2R},lonc:function(t){f.longc=t*a.D2R},x_0:function(t){f.x0=parseFloat(t)},y_0:function(t){f.y0=parseFloat(t)},k_0:function(t){f.k0=parseFloat(t)},k:function(t){f.k0=parseFloat(t)},a:function(t){f.a=parseFloat(t)},b:function(t){f.b=parseFloat(t)},r_a:function(){f.R_A=!0},zone:function(t){f.zone=parseInt(t,10)},south:function(){f.utmSouth=!0},towgs84:function(t){f.datum_params=t.split(\",\").map((function(t){return parseFloat(t)}))},to_meter:function(t){f.to_meter=parseFloat(t)},units:function(t){f.units=t;var n=i.default(r.default,t);n&&(f.to_meter=n.to_meter)},from_greenwich:function(t){f.from_greenwich=t*a.D2R},pm:function(t){var n=i.default(u.default,t);f.from_greenwich=(n||parseFloat(t))*a.D2R},nadgrids:function(t){\"@null\"===t?f.datumCode=\"none\":f.nadgrids=t},axis:function(t){3===t.length&&-1!==\"ewnsud\".indexOf(t.substr(0,1))&&-1!==\"ewnsud\".indexOf(t.substr(1,1))&&-1!==\"ewnsud\".indexOf(t.substr(2,1))&&(f.axis=t)}};for(n in l)o=l[n],n in c?\"function\"==typeof(e=c[n])?e(o):f[e]=o:f[n]=o;return\"string\"==typeof f.datumCode&&\"WGS84\"!==f.datumCode&&(f.datumCode=f.datumCode.toLowerCase()),f}},\n", + " function _(P,_,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.PJD_3PARAM=1,e.PJD_7PARAM=2,e.PJD_WGS84=4,e.PJD_NODATUM=5,e.SEC_TO_RAD=484813681109536e-20,e.HALF_PI=Math.PI/2,e.SIXTH=.16666666666666666,e.RA4=.04722222222222222,e.RA6=.022156084656084655,e.EPSLN=1e-10,e.D2R=.017453292519943295,e.R2D=57.29577951308232,e.FORTPI=Math.PI/4,e.TWO_PI=2*Math.PI,e.SPI=3.14159265359},\n", + " function _(e,o,r){Object.defineProperty(r,\"__esModule\",{value:!0});var a={};r.default=a,a.greenwich=0,a.lisbon=-9.131906111111,a.paris=2.337229166667,a.bogota=-74.080916666667,a.madrid=-3.687938888889,a.rome=12.452333333333,a.bern=7.439583333333,a.jakarta=106.807719444444,a.ferro=-17.666666666667,a.brussels=4.367975,a.stockholm=18.058277777778,a.athens=23.7163375,a.oslo=10.722916666667},\n", + " function _(e,t,f){Object.defineProperty(f,\"__esModule\",{value:!0}),f.default={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}}},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});var o=/[\\s_\\-\\/\\(\\)]/g;t.default=function(e,r){if(e[r])return e[r];for(var t,a=Object.keys(e),n=r.toLowerCase().replace(o,\"\"),f=-1;++f0?90:-90),e.lat_ts=e.lat1)}(l),l}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=function(t){return new a(t).output()};var i=/\\s/,s=/[A-Za-z]/,h=/[A-Za-z84]/,o=/[,\\]]/,n=/[\\d\\.E\\-\\+]/;function a(t){if(\"string\"!=typeof t)throw new Error(\"not a string\");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=1}a.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;i.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case 1:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},a.prototype.afterquote=function(t){if('\"'===t)return this.word+='\"',void(this.state=4);if(o.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in afterquote yet, index '+this.place)},a.prototype.afterItem=function(t){return\",\"===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=1)):\"]\"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=1,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},a.prototype.number=function(t){if(!n.test(t)){if(o.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in number yet, index '+this.place)}this.word+=t},a.prototype.quoted=function(t){'\"'!==t?this.word+=t:this.state=5},a.prototype.keyword=function(t){if(h.test(t))this.word+=t;else{if(\"[\"===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=1)}if(!o.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in keyword yet, index '+this.place);this.afterItem(t)}},a.prototype.neutral=function(t){if(s.test(t))return this.word=t,void(this.state=2);if('\"'===t)return this.word=\"\",void(this.state=4);if(n.test(t))return this.word=t,void(this.state=3);if(!o.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in neutral yet, index '+this.place);this.afterItem(t)},a.prototype.output=function(){for(;this.place90&&a*l.R2D<-90&&h*l.R2D>180&&h*l.R2D<-180)return null;if(Math.abs(Math.abs(a)-l.HALF_PI)<=l.EPSLN)return null;if(this.sphere)i=this.x0+this.a*this.k0*e.default(h-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(l.FORTPI+.5*a));else{var n=Math.sin(a),u=r.default(this.e,a,n);i=this.x0+this.a*this.k0*e.default(h-this.long0),s=this.y0-this.a*this.k0*Math.log(u)}return t.x=i,t.y=s,t}function f(t){var i,s,h=t.x-this.x0,a=t.y-this.y0;if(this.sphere)s=l.HALF_PI-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var r=Math.exp(-a/(this.a*this.k0));if(-9999===(s=n.default(this.e,r)))return null}return i=e.default(this.long0+h/(this.a*this.k0)),t.x=i,t.y=s,t}s.init=u,s.forward=o,s.inverse=f,s.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],s.default={init:u,forward:o,inverse:f,names:s.names}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e,t,n){var r=e*t;return n/Math.sqrt(1-r*r)}},\n", + " function _(e,t,u){Object.defineProperty(u,\"__esModule\",{value:!0});const n=e(1),a=e(44),f=n.__importDefault(e(56));u.default=function(e){return Math.abs(e)<=a.SPI?e:e-f.default(e)*a.TWO_PI}},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return e<0?-1:1}},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const a=t(44);n.default=function(t,e,n){var o=t*n,u=.5*t;return o=Math.pow((1-o)/(1+o),u),Math.tan(.5*(a.HALF_PI-e))/o}},\n", + " function _(t,a,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(44);e.default=function(t,a){for(var e,r,o=.5*t,u=n.HALF_PI-2*Math.atan(a),f=0;f<=15;f++)if(e=t*Math.sin(u),u+=r=n.HALF_PI-2*Math.atan(a*Math.pow((1-e)/(1+e),o))-u,Math.abs(r)<=1e-10)return u;return-9999}},\n", + " function _(e,n,i){function t(){}function r(e){return e}Object.defineProperty(i,\"__esModule\",{value:!0}),i.init=t,i.forward=r,i.inverse=r,i.names=[\"longlat\",\"identity\"],i.default={init:t,forward:r,inverse:r,names:i.names}},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const a=e(1),n=e(44),f=a.__importStar(e(61)),u=a.__importDefault(e(47));r.eccentricity=function(e,t,r,a){var f=e*e,u=t*t,i=(f-u)/f,c=0;return a?(f=(e*=1-i*(n.SIXTH+i*(n.RA4+i*n.RA6)))*e,i=0):c=Math.sqrt(i),{es:i,e:c,ep2:(f-u)/u}},r.sphere=function(e,t,r,a,i){if(!e){var c=u.default(f.default,a);c||(c=f.WGS84),e=c.a,t=c.b,r=c.rf}return r&&!t&&(t=(1-1/r)*e),(0===r||Math.abs(e-t)3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=t.PJD_7PARAM,r.datum_params[3]*=t.SEC_TO_RAD,r.datum_params[4]*=t.SEC_TO_RAD,r.datum_params[5]*=t.SEC_TO_RAD,r.datum_params[6]=r.datum_params[6]/1e6+1))),r.a=_,r.b=u,r.es=d,r.ep2=p,r}},\n", + " function _(t,e,a){Object.defineProperty(a,\"__esModule\",{value:!0});const r=t(1),u=t(44),m=r.__importDefault(t(65)),_=r.__importDefault(t(67)),o=r.__importDefault(t(39)),d=r.__importDefault(t(68)),f=r.__importDefault(t(69));a.default=function t(e,a,r){var n;if(Array.isArray(r)&&(r=d.default(r)),f.default(r),e.datum&&a.datum&&function(t,e){return(t.datum.datum_type===u.PJD_3PARAM||t.datum.datum_type===u.PJD_7PARAM)&&\"WGS84\"!==e.datumCode||(e.datum.datum_type===u.PJD_3PARAM||e.datum.datum_type===u.PJD_7PARAM)&&\"WGS84\"!==t.datumCode}(e,a)&&(r=t(e,n=new o.default(\"WGS84\"),r),e=n),\"enu\"!==e.axis&&(r=_.default(e,!1,r)),\"longlat\"===e.projName)r={x:r.x*u.D2R,y:r.y*u.D2R,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),!(r=e.inverse(r)))return;return e.from_greenwich&&(r.x+=e.from_greenwich),r=m.default(e.datum,a.datum,r),a.from_greenwich&&(r={x:r.x-a.from_greenwich,y:r.y,z:r.z||0}),\"longlat\"===a.projName?r={x:r.x*u.R2D,y:r.y*u.R2D,z:r.z||0}:(r=a.forward(r),a.to_meter&&(r={x:r.x/a.to_meter,y:r.y/a.to_meter,z:r.z||0})),\"enu\"!==a.axis?_.default(a,!0,r):r}},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const u=e(44),o=e(66);function _(e){return e===u.PJD_3PARAM||e===u.PJD_7PARAM}a.default=function(e,t,a){return o.compareDatums(e,t)||e.datum_type===u.PJD_NODATUM||t.datum_type===u.PJD_NODATUM?a:e.es!==t.es||e.a!==t.a||_(e.datum_type)||_(t.datum_type)?(a=o.geodeticToGeocentric(a,e.es,e.a),_(e.datum_type)&&(a=o.geocentricToWgs84(a,e.datum_type,e.datum_params)),_(t.datum_type)&&(a=o.geocentricFromWgs84(a,t.datum_type,t.datum_params)),o.geocentricToGeodetic(a,t.es,t.a,t.b)):a}},\n", + " function _(a,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=a(44);r.compareDatums=function(a,t){return a.datum_type===t.datum_type&&(!(a.a!==t.a||Math.abs(a.es-t.es)>5e-11)&&(a.datum_type===e.PJD_3PARAM?a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]:a.datum_type!==e.PJD_7PARAM||a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]&&a.datum_params[3]===t.datum_params[3]&&a.datum_params[4]===t.datum_params[4]&&a.datum_params[5]===t.datum_params[5]&&a.datum_params[6]===t.datum_params[6]))},r.geodeticToGeocentric=function(a,t,r){var m,u,s,_,n=a.x,d=a.y,i=a.z?a.z:0;if(d<-e.HALF_PI&&d>-1.001*e.HALF_PI)d=-e.HALF_PI;else if(d>e.HALF_PI&&d<1.001*e.HALF_PI)d=e.HALF_PI;else{if(d<-e.HALF_PI)return{x:-1/0,y:-1/0,z:a.z};if(d>e.HALF_PI)return{x:1/0,y:1/0,z:a.z}}return n>Math.PI&&(n-=2*Math.PI),u=Math.sin(d),_=Math.cos(d),s=u*u,{x:((m=r/Math.sqrt(1-t*s))+i)*_*Math.cos(n),y:(m+i)*_*Math.sin(n),z:(m*(1-t)+i)*u}},r.geocentricToGeodetic=function(a,t,r,m){var u,s,_,n,d,i,p,P,o,y,M,z,c,A,x,f=a.x,h=a.y,I=a.z?a.z:0;if(u=Math.sqrt(f*f+h*h),s=Math.sqrt(f*f+h*h+I*I),u/r<1e-12){if(A=0,s/r<1e-12)return e.HALF_PI,x=-m,{x:a.x,y:a.y,z:a.z}}else A=Math.atan2(h,f);_=I/s,P=(n=u/s)*(1-t)*(d=1/Math.sqrt(1-t*(2-t)*n*n)),o=_*d,c=0;do{c++,i=t*(p=r/Math.sqrt(1-t*o*o))/(p+(x=u*P+I*o-p*(1-t*o*o))),z=(M=_*(d=1/Math.sqrt(1-i*(2-i)*n*n)))*P-(y=n*(1-i)*d)*o,P=y,o=M}while(z*z>1e-24&&c<30);return{x:A,y:Math.atan(M/Math.abs(y)),z:x}},r.geocentricToWgs84=function(a,t,r){if(t===e.PJD_3PARAM)return{x:a.x+r[0],y:a.y+r[1],z:a.z+r[2]};if(t===e.PJD_7PARAM){var m=r[0],u=r[1],s=r[2],_=r[3],n=r[4],d=r[5],i=r[6];return{x:i*(a.x-d*a.y+n*a.z)+m,y:i*(d*a.x+a.y-_*a.z)+u,z:i*(-n*a.x+_*a.y+a.z)+s}}},r.geocentricFromWgs84=function(a,t,r){if(t===e.PJD_3PARAM)return{x:a.x-r[0],y:a.y-r[1],z:a.z-r[2]};if(t===e.PJD_7PARAM){var m=r[0],u=r[1],s=r[2],_=r[3],n=r[4],d=r[5],i=r[6],p=(a.x-m)/i,P=(a.y-u)/i,o=(a.z-s)/i;return{x:p+d*P-n*o,y:-d*p+P+_*o,z:n*p-_*P+o}}}},\n", + " function _(e,a,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.default=function(e,a,i){var s,n,r,c=i.x,d=i.y,u=i.z||0,f={};for(r=0;r<3;r++)if(!a||2!==r||void 0!==i.z)switch(0===r?(s=c,n=-1!==\"ew\".indexOf(e.axis[r])?\"x\":\"y\"):1===r?(s=d,n=-1!==\"ns\".indexOf(e.axis[r])?\"y\":\"x\"):(s=u,n=\"z\"),e.axis[r]){case\"e\":case\"w\":case\"n\":case\"s\":f[n]=s;break;case\"u\":void 0!==i[n]&&(f.z=s);break;case\"d\":void 0!==i[n]&&(f.z=-s);break;default:return null}return f}},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var n={x:e[0],y:e[1]};return e.length>2&&(n.z=e[2]),e.length>3&&(n.m=e[3]),n}},\n", + " function _(e,i,n){function t(e){if(\"function\"==typeof Number.isFinite){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(\"number\"!=typeof e||e!=e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e){t(e.x),t(e.y)}},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),r=e(71),s=n.__importStar(e(74)),_=n.__importStar(e(18)),a=e(81),o=e(82);class l extends r.View{get coordinates(){return this._coordinates}initialize(){super.initialize(),this.visuals=new s.Visuals(this.model),this.needs_webgl_blit=!1,this._initialize_coordinates()}connect_signals(){super.connect_signals();const{x_range_name:e,y_range_name:i}=this.model.properties;this.on_change([e,i],()=>this._initialize_coordinates())}_initialize_coordinates(){const{x_range_name:e,y_range_name:i}=this.model,{frame:t}=this.plot_view,n=t.x_scales.get(e),r=t.y_scales.get(i);this._coordinates=new o.CoordinateTransform(n,r)}get plot_view(){return this.parent}get plot_model(){return this.parent.model}get layer(){const{overlays:e,primary:i}=this.plot_view.canvas_view;return\"overlay\"==this.model.level?e:i}request_render(){this.plot_view.request_render()}notify_finished(){this.plot_view.notify_finished()}get needs_clip(){return!1}get has_webgl(){return!1}render(){this.model.visible&&this._render(),this._has_finished=!0}}t.RendererView=l,l.__name__=\"RendererView\";class d extends a.Model{constructor(e){super(e)}static init_Renderer(){this.define({level:[_.RenderLevel],visible:[_.Boolean,!0],x_range_name:[_.String,\"default\"],y_range_name:[_.String,\"default\"]})}}t.Renderer=d,d.__name__=\"Renderer\",d.init_Renderer()},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),r=t(15),n=t(72),o=t(8),h=i.__importDefault(t(73));class a{constructor(t){if(this.removed=new r.Signal0(this,\"removed\"),this._ready=Promise.resolve(void 0),null==t.model)throw new Error(\"model of a view wasn't configured\");this.model=t.model,this._parent=t.parent}get ready(){return this._ready}connect(t,e){return t.connect((t,s)=>{const i=Promise.resolve(e.call(this,t,s));this._ready=this._ready.then(()=>i)},this)}disconnect(t,e){return t.disconnect(e,this)}initialize(){this._has_finished=!1,this.is_root&&(this._stylesheet=n.stylesheet);for(const t of this.styles())this.stylesheet.append(t)}async lazy_initialize(){}remove(){this._parent=void 0,this.disconnect_signals(),this.removed.emit()}toString(){return`${this.model.type}View(${this.model.id})`}serializable_state(){return{type:this.model.type}}get parent(){if(void 0!==this._parent)return this._parent;throw new Error(\"parent of a view wasn't configured\")}get is_root(){return null===this.parent}get root(){return this.is_root?this:this.parent.root}assert_root(){if(!this.is_root)throw new Error(this.toString()+\" is not a root layout\")}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){r.Signal.disconnectReceiver(this)}on_change(t,e){for(const s of o.isArray(t)?t:[t])this.connect(s.change,e)}cursor(t,e){return null}get stylesheet(){return this.is_root?this._stylesheet:this.root.stylesheet}styles(){return[h.default]}}s.View=a,a.__name__=\"View\"},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=t(8),o=t(13),s=t=>(e={},...n)=>{const s=document.createElement(t);s.classList.add(\"bk\");for(let[t,n]of o.entries(e))if(null!=n&&(!i.isBoolean(n)||n))if(\"class\"===t&&(i.isString(n)&&(n=n.split(/\\s+/)),i.isArray(n)))for(const t of n)null!=t&&s.classList.add(t);else if(\"style\"===t&&i.isPlainObject(n))for(const[t,e]of o.entries(n))s.style[t]=e;else if(\"data\"===t&&i.isPlainObject(n))for(const[t,e]of o.entries(n))s.dataset[t]=e;else s.setAttribute(t,n);function l(t){if(i.isString(t))s.appendChild(document.createTextNode(t));else if(t instanceof Node)s.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)s.appendChild(e);else if(null!=t&&!1!==t)throw new Error(\"expected a DOM element, string, false or null, got \"+JSON.stringify(t))}for(const t of n)if(i.isArray(t))for(const e of t)l(e);else l(t);return s};function l(t){const e=t.parentNode;null!=e&&e.removeChild(t)}function r(t,...e){const n=t.firstChild;for(const i of e)t.insertBefore(i,n)}function a(t,e){const n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector).call(t,e)}function c(t){return parseFloat(t)||0}function h(t){const e=getComputedStyle(t);return{border:{top:c(e.borderTopWidth),bottom:c(e.borderBottomWidth),left:c(e.borderLeftWidth),right:c(e.borderRightWidth)},margin:{top:c(e.marginTop),bottom:c(e.marginBottom),left:c(e.marginLeft),right:c(e.marginRight)},padding:{top:c(e.paddingTop),bottom:c(e.paddingBottom),left:c(e.paddingLeft),right:c(e.paddingRight)}}}function d(t){const e=t.getBoundingClientRect();return{width:Math.ceil(e.width),height:Math.ceil(e.height)}}n.createElement=function(t,e,...n){return s(t)(e,...n)},n.div=s(\"div\"),n.span=s(\"span\"),n.canvas=s(\"canvas\"),n.link=s(\"link\"),n.style=s(\"style\"),n.a=s(\"a\"),n.p=s(\"p\"),n.i=s(\"i\"),n.pre=s(\"pre\"),n.button=s(\"button\"),n.label=s(\"label\"),n.input=s(\"input\"),n.select=s(\"select\"),n.option=s(\"option\"),n.optgroup=s(\"optgroup\"),n.textarea=s(\"textarea\"),n.nbsp=function(){return document.createTextNode(\" \")},n.append=function(t,...e){for(const n of e)t.appendChild(n)},n.remove=l,n.removeElement=l,n.replaceWith=function(t,e){const n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=r,n.empty=function(t,e=!1){let n;for(;n=t.firstChild;)t.removeChild(n);if(e&&t instanceof Element)for(const e of t.attributes)t.removeAttributeNode(e)},n.display=function(t){t.style.display=\"\"},n.undisplay=function(t){t.style.display=\"none\"},n.show=function(t){t.style.visibility=\"\"},n.hide=function(t){t.style.visibility=\"hidden\"},n.offset=function(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=a,n.parent=function(t,e){let n=t;for(;n=n.parentElement;)if(a(n,e))return n;return null},n.extents=h,n.size=d,n.scroll_size=function(t){return{width:Math.ceil(t.scrollWidth),height:Math.ceil(t.scrollHeight)}},n.outer_size=function(t){const{margin:{left:e,right:n,top:i,bottom:o}}=h(t),{width:s,height:l}=d(t);return{width:Math.ceil(s+e+n),height:Math.ceil(l+i+o)}},n.content_size=function(t){const{left:e,top:n}=t.getBoundingClientRect(),{padding:i}=h(t);let o=0,s=0;for(const l of t.children){const t=l.getBoundingClientRect();o=Math.max(o,Math.ceil(t.left-e-i.left+t.width)),s=Math.max(s,Math.ceil(t.top-n-i.top+t.height))}return{width:o,height:s}},n.position=function(t,e,n){const{style:i}=t;if(i.left=e.x+\"px\",i.top=e.y+\"px\",i.width=e.width+\"px\",i.height=e.height+\"px\",null==n)i.margin=\"\";else{const{top:t,right:e,bottom:o,left:s}=n;i.margin=`${t}px ${e}px ${o}px ${s}px`}},n.children=function(t){return Array.from(t.children)};class f{constructor(t){this.el=t,this.classList=t.classList}get values(){const t=[];for(let e=0;e\":\"vertical_wave\",\"*\":\"criss_cross\"};class p{constructor(e,t=\"\"){this.obj=e,this.prefix=t,this.cache={};for(const a of this.attrs)this[a]=e.properties[t+a]}warm_cache(e,t){for(const a of this.attrs){const s=this.obj.properties[this.prefix+a];if(void 0!==s.spec.value)this.cache[a]=s.spec.value;else{if(!(null!=e&&s instanceof c.VectorSpec))throw new Error(\"source is required with a vectorized visual property\");{const l=s.array(e),c=null!=t?t.select(l):l;this.cache[a+\"_array\"]=c}}}}cache_select(e,t){const a=this.obj.properties[this.prefix+e];let s;return void 0!==a.spec.value?this.cache[e]=s=a.spec.value:this.cache[e]=s=this.cache[e+\"_array\"][t],s}get_array(e){return this.cache[e+\"_array\"]}set_vectorize(e,t){this._set_vectorize(e,t)}}a.ContextProperties=p,p.__name__=\"ContextProperties\";class f extends p{set_value(e){const t=this.line_color.value(),a=this.line_alpha.value();e.strokeStyle=n(t,a),e.lineWidth=this.line_width.value(),e.lineJoin=this.line_join.value(),e.lineCap=this.line_cap.value(),e.lineDash=this.line_dash.value(),e.lineDashOffset=this.line_dash_offset.value()}get doit(){return!(null===this.line_color.spec.value||0==this.line_alpha.spec.value||0==this.line_width.spec.value)}_set_vectorize(e,t){const a=this.cache_select(\"line_color\",t),s=this.cache_select(\"line_alpha\",t),l=this.cache_select(\"line_width\",t),c=this.cache_select(\"line_join\",t),i=this.cache_select(\"line_cap\",t),o=this.cache_select(\"line_dash\",t),r=this.cache_select(\"line_dash_offset\",t);e.strokeStyle=n(a,s),e.lineWidth=l,e.lineJoin=c,e.lineCap=i,e.lineDash=o,e.lineDashOffset=r}color_value(){return n(this.line_color.value(),this.line_alpha.value())}}a.Line=f,f.__name__=\"Line\",f.prototype.attrs=Object.keys(l.LineVector);class d extends p{set_value(e){const t=this.fill_color.value(),a=this.fill_alpha.value();e.fillStyle=n(t,a)}get doit(){return!(null===this.fill_color.spec.value||0==this.fill_alpha.spec.value)}_set_vectorize(e,t){const a=this.cache_select(\"fill_color\",t),s=this.cache_select(\"fill_alpha\",t);e.fillStyle=n(a,s)}color_value(){return n(this.fill_color.value(),this.fill_alpha.value())}}a.Fill=d,d.__name__=\"Fill\",d.prototype.attrs=Object.keys(l.FillVector);class k extends p{cache_select(e,t){let s;if(\"pattern\"==e){const e=this.cache_select(\"hatch_color\",t),s=this.cache_select(\"hatch_alpha\",t),l=this.cache_select(\"hatch_scale\",t),c=this.cache_select(\"hatch_pattern\",t),i=this.cache_select(\"hatch_weight\",t),{hatch_extra:o}=this.cache;if(null!=o&&o.hasOwnProperty(c)){const t=o[c];this.cache.pattern=t.get_pattern(e,s,l,i)}else this.cache.pattern=t=>{const o=t instanceof r.SVGRenderingContext2D?\"svg\":\"canvas\",p=new h.CanvasLayer(o,!0);return p.resize(l,l),p.prepare(),function(e,t,s,l,c,i){var o;const r=c,h=r/2,p=h/2;switch(e.strokeStyle=n(s,l),e.lineCap=\"square\",e.fillStyle=s,e.lineWidth=i,null!==(o=a.hatch_aliases[t])&&void 0!==o?o:t){case\"blank\":break;case\"dot\":e.arc(h,h,h/2,0,2*Math.PI,!0),e.fill();break;case\"ring\":e.arc(h,h,h/2,0,2*Math.PI,!0),e.stroke();break;case\"horizontal_line\":_(e,r,h);break;case\"vertical_line\":u(e,r,h);break;case\"cross\":_(e,r,h),u(e,r,h);break;case\"horizontal_dash\":_(e,h,h);break;case\"vertical_dash\":u(e,h,h);break;case\"spiral\":{const t=r/30;e.moveTo(h,h);for(let a=0;a<360;a++){const s=.1*a,l=h+t*s*Math.cos(s),c=h+t*s*Math.sin(s);e.lineTo(l,c)}e.stroke();break}case\"right_diagonal_line\":e.moveTo(.5-p,r),e.lineTo(p+.5,0),e.stroke(),e.moveTo(p+.5,r),e.lineTo(3*p+.5,0),e.stroke(),e.moveTo(3*p+.5,r),e.lineTo(5*p+.5,0),e.stroke(),e.stroke();break;case\"left_diagonal_line\":e.moveTo(p+.5,r),e.lineTo(.5-p,0),e.stroke(),e.moveTo(3*p+.5,r),e.lineTo(p+.5,0),e.stroke(),e.moveTo(5*p+.5,r),e.lineTo(3*p+.5,0),e.stroke(),e.stroke();break;case\"diagonal_cross\":v(e,r);break;case\"right_diagonal_dash\":e.moveTo(p+.5,3*p+.5),e.lineTo(3*p+.5,p+.5),e.stroke();break;case\"left_diagonal_dash\":e.moveTo(p+.5,p+.5),e.lineTo(3*p+.5,3*p+.5),e.stroke();break;case\"horizontal_wave\":e.moveTo(0,p),e.lineTo(h,3*p),e.lineTo(r,p),e.stroke();break;case\"vertical_wave\":e.moveTo(p,0),e.lineTo(3*p,h),e.lineTo(p,r),e.stroke();break;case\"criss_cross\":v(e,r),_(e,r,h),u(e,r,h)}}(p.ctx,c,e,s,l,i),t.createPattern(p.canvas,\"repeat\")}}else s=super.cache_select(e,t);return s}_try_defer(e){const{hatch_pattern:t,hatch_extra:a}=this.cache;if(null!=a&&a.hasOwnProperty(t)){a[t].onload(e)}}get doit(){return!(null===this.hatch_color.spec.value||0==this.hatch_alpha.spec.value||\" \"==this.hatch_pattern.spec.value||\"blank\"==this.hatch_pattern.spec.value||null===this.hatch_pattern.spec.value)}doit2(e,t,a,s){if(!this.doit)return;this.cache_select(\"pattern\",t);null==this.cache.pattern(e)?this._try_defer(s):(this.set_vectorize(e,t),a())}_set_vectorize(e,t){this.cache_select(\"pattern\",t),e.fillStyle=this.cache.pattern(e)}color_value(){return n(this.hatch_color.value(),this.hatch_alpha.value())}}a.Hatch=k,k.__name__=\"Hatch\",k.prototype.attrs=Object.keys(l.HatchVector);class x extends p{color_value(){return n(this.text_color.value(),this.text_alpha.value())}font_value(){const e=this.text_font.value(),t=this.text_font_size.value();return`${this.text_font_style.value()} ${t} ${e}`}v_font_value(e){super.cache_select(\"text_font_style\",e),super.cache_select(\"text_font_size\",e),super.cache_select(\"text_font\",e);const{text_font_style:t,text_font_size:a,text_font:s}=this.cache;return`${t} ${a} ${s}`}cache_select(e,t){let a;return\"font\"==e?this.cache.font=a=this.v_font_value(t):a=super.cache_select(e,t),a}set_value(e){const t=this.text_color.value(),a=this.text_alpha.value();e.fillStyle=n(t,a),e.font=this.font_value(),e.textAlign=this.text_align.value(),e.textBaseline=this.text_baseline.value()}get doit(){return!(null===this.text_color.spec.value||0==this.text_alpha.spec.value)}_set_vectorize(e,t){const a=this.cache_select(\"text_color\",t),s=this.cache_select(\"text_alpha\",t),l=this.cache_select(\"font\",t),c=this.cache_select(\"text_align\",t),i=this.cache_select(\"text_baseline\",t);e.fillStyle=n(a,s),e.font=l,e.textAlign=c,e.textBaseline=i}}a.Text=x,x.__name__=\"Text\",x.prototype.attrs=Object.keys(l.TextVector);class b{constructor(e){for(const t of e._mixins){const[a,s=\"\"]=t.split(\":\");let l;switch(a){case\"line\":l=f;break;case\"fill\":l=d;break;case\"hatch\":l=k;break;case\"text\":l=x;break;default:throw new Error(\"unknown visual: \"+a)}this[s+a]=new l(e,s)}}warm_cache(e,t){for(const a in this)if(this.hasOwnProperty(a)){const s=this[a];s instanceof p&&s.warm_cache(e,t)}}}a.Visuals=b,b.__name__=\"Visuals\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(76),n=t(8),r=t(72);function a(t){if(!t)throw new Error(\"cannot create a random attribute name for an undefined object\");const e=\"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\";let i=\"\";do{i=\"\";for(let t=0;t<12;t++)i+=e[Math.floor(Math.random()*e.length)]}while(t[i]);return i}function o(t){const e={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return e[t]||e.start}function l(t){const e={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return e[t]||e.alphabetic}const h=function(t,e){const i=new Map,s=t.split(\",\");e=e||10;for(let t=0;t=0?Math.acos(e):-Math.acos(e)}const b=w(f),v=w(g);this.lineTo(d+f[0]*n,m+f[1]*n),this.arc(d,m,n,b,v)}stroke(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}fill(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&(\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+s),this.lineTo(t,e+s),this.lineTo(t,e))}fillRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.fill())}strokeRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.stroke())}__clearCanvas(){r.empty(this.__defs),r.empty(this.__root),this.__root.appendChild(this.__defs),this.__currentElement=this.__root}clearRect(t,e,i,s){if(!isFinite(t+e+i+s))return;if(0===t&&0===e&&i===this.width&&s===this.height)return void this.__clearCanvas();const n=this.__createElement(\"rect\",{x:t,y:e,width:i,height:s,fill:\"#FFFFFF\"},!0);this._apply_transform(n),this.__root.appendChild(n)}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error(\"The provided double value is non-finite\");const[n,r]=this._transform.apply(t,e),[o,l]=this._transform.apply(i,s),h=this.__createElement(\"linearGradient\",{id:a(this.__ids),x1:n+\"px\",x2:o+\"px\",y1:r+\"px\",y2:l+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(h),new _(h,this)}createRadialGradient(t,e,i,s,n,r){if(!isFinite(t+e+i+s+n+r))throw new Error(\"The provided double value is non-finite\");const[o,l]=this._transform.apply(t,e),[h,c]=this._transform.apply(s,n),u=this.__createElement(\"radialGradient\",{id:a(this.__ids),cx:h+\"px\",cy:c+\"px\",r:r+\"px\",fx:o+\"px\",fy:l+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(u),new _(u,this)}__parseFont(){const t=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font),e={style:t[1]||\"normal\",size:t[4]||\"10px\",family:t[6]||\"sans-serif\",weight:t[3]||\"normal\",decoration:t[2]||\"normal\"};return\"underline\"===this.__fontUnderline&&(e.decoration=\"underline\"),null!=this.__fontHref&&(e.href=this.__fontHref),e}__wrapTextLink(t,e){if(t.href){const i=this.__createElement(\"a\");return i.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.href),i.appendChild(e),i}return e}__applyText(t,e,i,s){const n=this.__parseFont(),r=this.__createElement(\"text\",{\"font-family\":n.family,\"font-size\":n.size,\"font-style\":n.style,\"font-weight\":n.weight,\"text-decoration\":n.decoration,x:e,y:i,\"text-anchor\":o(this.textAlign),\"dominant-baseline\":l(this.textBaseline)},!0);r.appendChild(this.__document.createTextNode(t)),this._apply_transform(r),this.__currentElement=r,this.__applyStyleToCurrentElement(s),this.__root.appendChild(this.__wrapTextLink(n,r))}fillText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"fill\")}strokeText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"stroke\")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,e,i,s,n,r=!1){if(!isFinite(t+e+i+s+n))return;if(s===n)return;(s%=2*Math.PI)===(n%=2*Math.PI)&&(n=(n+2*Math.PI-.001*(r?-1:1))%(2*Math.PI));const a=t+i*Math.cos(n),o=e+i*Math.sin(n),l=t+i*Math.cos(s),h=e+i*Math.sin(s),c=r?0:1;let _=0,u=n-s;u<0&&(u+=2*Math.PI),_=r?u>Math.PI?0:1:u>Math.PI?1:0,this.lineTo(l,h);const p=i,d=i,[m,f]=this._transform.apply(a,o);this.__addPathCommand(m,f,`A ${p} ${d} 0 ${_} ${c} ${m} ${f}`)}clip(){const t=this.__createElement(\"clipPath\"),e=a(this.__ids);this.__applyCurrentDefaultPath(),t.setAttribute(\"id\",e),t.appendChild(this.__currentElement),this.__defs.appendChild(t),this._clip_path=`url(#${e})`}drawImage(t,...e){let i,s,n,r,a,o,l,h;if(2==e.length){if([i,s]=e,!isFinite(i+s))return;a=0,o=0,l=t.width,h=t.height,n=l,r=h}else if(4==e.length){if([i,s,n,r]=e,!isFinite(i+s+n+r))return;a=0,o=0,l=t.width,h=t.height}else{if(8!==e.length)throw new Error(\"Inavlid number of arguments passed to drawImage: \"+arguments.length);if([a,o,l,h,i,s,n,r]=e,!isFinite(a+o+l+h+i+s+n+r))return}const c=this.__root,_=\"translate(\"+i+\", \"+s+\")\",u=this._transform.clone().translate(i,s);if(t instanceof p||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;u.is_identity?i=c:(i=this.__createElement(\"g\"),this._apply_transform(i,u),c.appendChild(i));for(const t of[...e.childNodes])if(t instanceof SVGDefsElement){for(const e of[...t.childNodes])if(e instanceof Element){const t=e.getAttribute(\"id\");this.__ids[t]=t,this.__defs.appendChild(e)}}else i.appendChild(t)}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement(\"image\");if(e.setAttribute(\"width\",\"\"+n),e.setAttribute(\"height\",\"\"+r),e.setAttribute(\"preserveAspectRatio\",\"none\"),a||o||l!==t.width||h!==t.height){const e=this.__document.createElement(\"canvas\");e.width=n,e.height=r;e.getContext(\"2d\").drawImage(t,a,o,l,h,0,0,n,r),t=e}e.setAttribute(\"transform\",_);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",i),c.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement(\"image\");e.setAttribute(\"width\",\"\"+n),e.setAttribute(\"height\",\"\"+r),e.setAttribute(\"preserveAspectRatio\",\"none\");const i=this.__document.createElement(\"canvas\");i.width=n,i.height=r;const s=i.getContext(\"2d\");s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,n,r),t=i,e.setAttribute(\"transform\",_),e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.toDataURL()),c.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),s=a(this.__ids);if(i.setAttribute(\"id\",s),i.setAttribute(\"width\",\"\"+this._to_number(t.width)),i.setAttribute(\"height\",\"\"+this._to_number(t.height)),i.setAttribute(\"patternUnits\",\"userSpaceOnUse\"),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\"),s=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof p){for(const e of[...t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e);this.__defs.appendChild(i)}else{if(!(t instanceof SVGSVGElement))throw new Error(\"unsupported\");for(const e of[...t.childNodes])e instanceof SVGDefsElement||i.appendChild(e);this.__defs.appendChild(i)}return new u(i,this)}setLineDash(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null}_to_number(t){return n.isNumber(t)?t:t.baseVal.value}}i.SVGRenderingContext2D=p,p.__name__=\"SVGRenderingContext2D\"},\n", + " function _(t,s,r){Object.defineProperty(r,\"__esModule\",{value:!0});const{sin:e,cos:n}=Math;class i{constructor(t=1,s=0,r=0,e=1,n=0,i=0){this.a=t,this.b=s,this.c=r,this.d=e,this.e=n,this.f=i}toString(){const{a:t,b:s,c:r,d:e,e:n,f:i}=this;return`matrix(${t}, ${s}, ${r}, ${e}, ${n}, ${i})`}clone(){const{a:t,b:s,c:r,d:e,e:n,f:a}=this;return new i(t,s,r,e,n,a)}get is_identity(){const{a:t,b:s,c:r,d:e,e:n,f:i}=this;return 1==t&&0==s&&0==r&&1==e&&0==n&&0==i}apply(t,s){const{a:r,b:e,c:n,d:i,e:a,f:h}=this;return[r*t+n*s+a,e*t+i*s+h]}iv_apply(t,s){const{a:r,b:e,c:n,d:i,e:a,f:h}=this,c=t.length;for(let o=0;o{const e=document.createElement(\"canvas\"),t=e.getContext(\"webgl\",{premultipliedAlpha:!0});return null!=t?{canvas:e,gl:t}:void l.logger.trace(\"WebGL is not supported\")})(),v={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};class b{constructor(e,t){switch(this.backend=e,this.hidpi=t,this.pixel_ratio=1,this.bbox=new c.BBox,e){case\"webgl\":case\"canvas\":{this._el=this._canvas=r.canvas({style:v});const e=this.canvas.getContext(\"2d\");if(null==e)throw new Error(\"unable to obtain 2D rendering context\");this._ctx=e,t&&(this.pixel_ratio=devicePixelRatio);break}case\"svg\":{const e=new d.SVGRenderingContext2D;this._ctx=e,this._canvas=e.get_svg(),this._el=r.div({style:v},this._canvas);break}}_.fixup_ctx(this._ctx)}get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}resize(e,t){this.bbox=new c.BBox({left:0,top:0,width:e,height:t});const i=this._ctx instanceof d.SVGRenderingContext2D?this._ctx:this.canvas;i.width=e*this.pixel_ratio,i.height=t*this.pixel_ratio}prepare(){const{ctx:e,hidpi:t,pixel_ratio:i}=this;e.save(),t&&(e.scale(i,i),e.translate(.5,.5)),this.clear()}clear(){const{x:e,y:t,width:i,height:s}=this.bbox;this.ctx.clearRect(e,t,i,s)}finish(){this.ctx.restore()}to_blob(){const{_canvas:e}=this;if(e instanceof HTMLCanvasElement)return null!=e.msToBlob?Promise.resolve(e.msToBlob()):new Promise((t,i)=>{e.toBlob(e=>null!=e?t(e):i(),\"image/png\")});{const e=this._ctx.get_serialized_svg(!0),t=new Blob([e],{type:\"image/svg+xml\"});return Promise.resolve(t)}}}i.CanvasLayer=b,b.__name__=\"CanvasLayer\";class g extends n.DOMView{constructor(){super(...arguments),this.bbox=new c.BBox}initialize(){super.initialize();const{output_backend:e,hidpi:t}=this.model;\"webgl\"==e&&(this.webgl=p),this.underlays_el=r.div({style:v}),this.primary=new b(e,t),this.overlays=new b(e,t),this.overlays_el=r.div({style:v}),this.events_el=r.div({class:\"bk-canvas-events\",style:v});const i=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];h.extend(this.el.style,v),r.append(this.el,...i),l.logger.debug(\"CanvasView initialized\")}add_underlay(e){this.underlays_el.appendChild(e)}add_overlay(e){this.overlays_el.appendChild(e)}add_event(e){this.events_el.appendChild(e)}get pixel_ratio(){return this.primary.pixel_ratio}resize(e,t){this.bbox=new c.BBox({left:0,top:0,width:e,height:t}),this.primary.resize(e,t),this.overlays.resize(e,t)}prepare_webgl(e){const{webgl:t}=this;if(null!=t){const{width:i,height:s}=this.bbox;t.canvas.width=this.pixel_ratio*i,t.canvas.height=this.pixel_ratio*s;const{gl:a}=t;a.enable(a.SCISSOR_TEST);const[n,l,o,r]=e,{xview:h,yview:c}=this.bbox,_=h.compute(n),d=c.compute(l+r),p=this.pixel_ratio;a.scissor(p*_,p*d,p*o,p*r),a.enable(a.BLEND),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE_MINUS_DST_ALPHA,a.ONE)}}clear_webgl(){const{webgl:e}=this;if(null!=e){const{gl:t,canvas:i}=e;t.viewport(0,0,i.width,i.height),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT||t.DEPTH_BUFFER_BIT)}}blit_webgl(e){const{webgl:t}=this;if(null!=t&&(l.logger.debug(\"Blitting WebGL canvas\"),e.restore(),e.drawImage(t.canvas,0,0),e.save(),this.model.hidpi)){const t=this.pixel_ratio;e.scale(t,t),e.translate(.5,.5)}}compose(){const{output_backend:e,hidpi:t}=this.model,{width:i,height:s}=this.bbox,a=new b(e,t);return a.resize(i,s),a.ctx.drawImage(this.primary.canvas,0,0),a.ctx.drawImage(this.overlays.canvas,0,0),a}to_blob(){return this.compose().to_blob()}}i.CanvasView=g,g.__name__=\"CanvasView\";class x extends a.HasProps{constructor(e){super(e)}static init_Canvas(){this.prototype.default_view=g,this.internal({hidpi:[o.Boolean,!0],output_backend:[o.OutputBackend,\"canvas\"]})}}i.Canvas=x,x.__name__=\"Canvas\",x.init_Canvas()},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(71),r=e(72);class n extends i.View{initialize(){super.initialize(),this.el=this._createElement()}remove(){r.remove(this.el),super.remove()}css_classes(){return[]}render(){}renderTo(e){e.appendChild(this.el),this.render()}_createElement(){return r.createElement(this.tagName,{class:this.css_classes()})}}t.DOMView=n,n.__name__=\"DOMView\",n.prototype.tagName=\"div\"},\n", + " function _(t,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const h=t(24),{min:r,max:s}=Math;e.empty=function(){return{x0:1/0,y0:1/0,x1:-1/0,y1:-1/0}},e.positive_x=function(){return{x0:Number.MIN_VALUE,y0:-1/0,x1:1/0,y1:1/0}},e.positive_y=function(){return{x0:-1/0,y0:Number.MIN_VALUE,x1:1/0,y1:1/0}},e.union=function(t,i){return{x0:r(t.x0,i.x0),x1:s(t.x1,i.x1),y0:r(t.y0,i.y0),y1:s(t.y1,i.y1)}};class n{constructor(t){if(null==t)this.x0=0,this.y0=0,this.x1=0,this.y1=0;else if(\"x0\"in t){const{x0:i,y0:e,x1:h,y1:r}=t;if(!(i<=h&&e<=r))throw new Error(`invalid bbox {x0: ${i}, y0: ${e}, x1: ${h}, y1: ${r}}`);this.x0=i,this.y0=e,this.x1=h,this.y1=r}else if(\"x\"in t){const{x:i,y:e,width:h,height:r}=t;if(!(h>=0&&r>=0))throw new Error(`invalid bbox {x: ${i}, y: ${e}, width: ${h}, height: ${r}}`);this.x0=i,this.y0=e,this.x1=i+h,this.y1=e+r}else{let i,e,h,r;if(\"width\"in t)if(\"left\"in t)i=t.left,e=i+t.width;else if(\"right\"in t)e=t.right,i=e-t.width;else{const h=t.width/2;i=t.hcenter-h,e=t.hcenter+h}else i=t.left,e=t.right;if(\"height\"in t)if(\"top\"in t)h=t.top,r=h+t.height;else if(\"bottom\"in t)r=t.bottom,h=r-t.height;else{const i=t.height/2;h=t.vcenter-i,r=t.vcenter+i}else h=t.top,r=t.bottom;if(!(i<=e&&h<=r))throw new Error(`invalid bbox {left: ${i}, top: ${h}, right: ${e}, bottom: ${r}}`);this.x0=i,this.y0=h,this.x1=e,this.y1=r}}toString(){return`BBox({left: ${this.left}, top: ${this.top}, width: ${this.width}, height: ${this.height}})`}get left(){return this.x0}get top(){return this.y0}get right(){return this.x1}get bottom(){return this.y1}get p0(){return[this.x0,this.y0]}get p1(){return[this.x1,this.y1]}get x(){return this.x0}get y(){return this.y0}get width(){return this.x1-this.x0}get height(){return this.y1-this.y0}get rect(){return{x0:this.x0,y0:this.y0,x1:this.x1,y1:this.y1}}get box(){return{x:this.x,y:this.y,width:this.width,height:this.height}}get h_range(){return{start:this.x0,end:this.x1}}get v_range(){return{start:this.y0,end:this.y1}}get ranges(){return[this.h_range,this.v_range]}get aspect(){return this.width/this.height}get hcenter(){return(this.left+this.right)/2}get vcenter(){return(this.top+this.bottom)/2}relativize(){const{width:t,height:i}=this;return new n({x:0,y:0,width:t,height:i})}contains(t,i){return t>=this.x0&&t<=this.x1&&i>=this.y0&&i<=this.y1}clip(t,i){return tthis.x1&&(t=this.x1),ithis.y1&&(i=this.y1),[t,i]}union(t){return new n({x0:r(this.x0,t.x0),y0:r(this.y0,t.y0),x1:s(this.x1,t.x1),y1:s(this.y1,t.y1)})}equals(t){return this.x0==t.x0&&this.y0==t.y0&&this.x1==t.x1&&this.y1==t.y1}get xview(){return{compute:t=>this.left+t,v_compute:t=>{const i=new h.NumberArray(t.length),e=this.left;for(let h=0;hthis.bottom-t,v_compute:t=>{const i=new h.NumberArray(t.length),e=this.bottom;for(let h=0;he.getLineDash(),set:t=>e.setLineDash(t)})}(e),function(e){e.setImageSmoothingEnabled=t=>{e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.oImageSmoothingEnabled=t,e.webkitImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t},e.getImageSmoothingEnabled=()=>{const t=e.imageSmoothingEnabled;return null==t||t}}(e),function(e){e.measureText&&null==e.html5MeasureText&&(e.html5MeasureText=e.measureText,e.measureText=t=>{const n=e.html5MeasureText(t);return n.ascent=1.6*e.html5MeasureText(\"m\").width,n})}(e),function(e){e.ellipse||(e.ellipse=function(t,n,o,a,i,l,m,r=!1){const u=.551784;e.translate(t,n),e.rotate(i);let s=o,g=a;r&&(s=-o,g=-a),e.moveTo(-s,0),e.bezierCurveTo(-s,g*u,-s*u,g,0,g),e.bezierCurveTo(s*u,g,s,g*u,s,0),e.bezierCurveTo(s,-g*u,s*u,-g,0,-g),e.bezierCurveTo(-s*u,-g,-s,-g*u,-s,0),e.rotate(-i),e.translate(-t,-n)})}(e)}},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(1),c=e(14),i=n.__importStar(e(18)),a=e(8),r=e(13),o=e(19);class l extends c.HasProps{constructor(e){super(e)}static init_Model(){this.define({tags:[i.Array,[]],name:[i.String],js_property_callbacks:[i.Any,{}],js_event_callbacks:[i.Any,{}],subscribed_events:[i.Array,[]]})}initialize(){super.initialize(),this._js_callbacks=new Map}connect_signals(){super.connect_signals(),this._update_property_callbacks(),this.connect(this.properties.js_property_callbacks.change,()=>this._update_property_callbacks()),this.connect(this.properties.js_event_callbacks.change,()=>this._update_event_callbacks()),this.connect(this.properties.subscribed_events.change,()=>this._update_event_callbacks())}_process_event(e){for(const t of this.js_event_callbacks[e.event_name]||[])t.execute(e);null!=this.document&&this.subscribed_events.some(t=>t==e.event_name)&&this.document.event_manager.send_event(e)}trigger_event(e){null!=this.document&&(e.origin=this,this.document.event_manager.trigger(e))}_update_event_callbacks(){null!=this.document?this.document.event_manager.subscribed_models.add(this):o.logger.warn(\"WARNING: Document not defined for updating event callbacks\")}_update_property_callbacks(){const e=e=>{const[t,s=null]=e.split(\":\");return null!=s?this.properties[s][t]:this[t]};for(const[t,s]of this._js_callbacks){const n=e(t);for(const e of s)this.disconnect(n,e)}this._js_callbacks.clear();for(const[t,s]of r.entries(this.js_property_callbacks)){const n=s.map(e=>()=>e.execute(this));this._js_callbacks.set(t,n);const c=e(t);for(const e of n)this.connect(c,e)}}_doc_attached(){r.isEmpty(this.js_event_callbacks)&&0==this.subscribed_events.length||this._update_event_callbacks()}_doc_detached(){this.document.event_manager.subscribed_models.delete(this)}select(e){if(a.isString(e))return[...this.references()].filter(t=>t instanceof l&&t.name===e);if(e.prototype instanceof c.HasProps)return[...this.references()].filter(t=>t instanceof e);throw new Error(\"invalid selector\")}select_one(e){const t=this.select(e);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(\"found more than one object matching given selector\")}}}s.Model=l,l.__name__=\"Model\",l.init_Model()},\n", + " function _(e,s,_){Object.defineProperty(_,\"__esModule\",{value:!0});class t{constructor(e,s){this.x_scale=e,this.y_scale=s,this.x_range=this.x_scale.source_range,this.y_range=this.y_scale.source_range,this.ranges=[this.x_range,this.y_range],this.scales=[this.x_scale,this.y_scale]}map_to_screen(e,s){return[this.x_scale.v_compute(e),this.y_scale.v_compute(s)]}map_from_screen(e,s){return[this.x_scale.v_invert(e),this.y_scale.v_invert(s)]}}_.CoordinateTransform=t,t.__name__=\"CoordinateTransform\"},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),a=t(36),o=t(84),r=t(85),n=t(28),_=i.__importStar(t(18)),h=t(10);class c extends a.AnnotationView{initialize(){super.initialize(),null==this.model.source&&(this.model.source=new r.ColumnDataSource),this.set_data(this.model.source)}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.set_data(this.model.source)),this.connect(this.model.source.streaming,()=>this.set_data(this.model.source)),this.connect(this.model.source.patching,()=>this.set_data(this.model.source)),this.connect(this.model.source.change,()=>this.set_data(this.model.source))}set_data(t){super.set_data(t),this.visuals.warm_cache(t),this.plot_view.request_render()}_map_data(){const{frame:t}=this.plot_view;let e,s,i,a;return\"data\"==this.model.start_units?(e=this.coordinates.x_scale.v_compute(this._x_start),s=this.coordinates.y_scale.v_compute(this._y_start)):(e=t.xview.v_compute(this._x_start),s=t.yview.v_compute(this._y_start)),\"data\"==this.model.end_units?(i=this.coordinates.x_scale.v_compute(this._x_end),a=this.coordinates.y_scale.v_compute(this._y_end)):(i=t.xview.v_compute(this._x_end),a=t.yview.v_compute(this._y_end)),[[e,s],[i,a]]}_render(){const{ctx:t}=this.layer;t.save();const[e,s]=this._map_data();null!=this.model.end&&this._arrow_head(t,\"render\",this.model.end,e,s),null!=this.model.start&&this._arrow_head(t,\"render\",this.model.start,s,e),t.beginPath();const{x:i,y:a,width:o,height:r}=this.plot_view.frame.bbox;t.rect(i,a,o,r),null!=this.model.end&&this._arrow_head(t,\"clip\",this.model.end,e,s),null!=this.model.start&&this._arrow_head(t,\"clip\",this.model.start,s,e),t.closePath(),t.clip(),this._arrow_body(t,e,s),t.restore()}_arrow_head(t,e,s,i,a){for(let o=0,r=this._x_start.length;onew o.OpenHead({})],source:[_.Instance]})}}s.Arrow=d,d.__name__=\"Arrow\",d.init_Arrow()},\n", + " function _(i,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=i(1),o=i(36),l=i(74),n=i(28),h=t.__importStar(i(18));class a extends o.Annotation{constructor(i){super(i)}static init_ArrowHead(){this.define({size:[h.Number,25]})}initialize(){super.initialize(),this.visuals=new l.Visuals(this)}}s.ArrowHead=a,a.__name__=\"ArrowHead\",a.init_ArrowHead();class r extends a{constructor(i){super(i)}static init_OpenHead(){this.mixins(n.LineVector)}clip(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(0,0),i.lineTo(.5*this.size,this.size)}render(i,e){this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.stroke())}}s.OpenHead=r,r.__name__=\"OpenHead\",r.init_OpenHead();class z extends a{constructor(i){super(i)}static init_NormalHead(){this.mixins([n.LineVector,n.FillVector]),this.override({fill_color:\"black\"})}clip(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(.5*this.size,this.size)}render(i,e){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(i,e),this._normal(i,e),i.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),this._normal(i,e),i.stroke())}_normal(i,e){i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.closePath()}}s.NormalHead=z,z.__name__=\"NormalHead\",z.init_NormalHead();class _ extends a{constructor(i){super(i)}static init_VeeHead(){this.mixins([n.LineVector,n.FillVector]),this.override({fill_color:\"black\"})}clip(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(0,.5*this.size),i.lineTo(.5*this.size,this.size)}render(i,e){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(i,e),this._vee(i,e),i.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),this._vee(i,e),i.stroke())}_vee(i,e){i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.lineTo(0,.5*this.size),i.closePath()}}s.VeeHead=_,_.__name__=\"VeeHead\",_.init_VeeHead();class c extends a{constructor(i){super(i)}static init_TeeHead(){this.mixins(n.LineVector)}render(i,e){this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),i.beginPath(),i.moveTo(.5*this.size,0),i.lineTo(-.5*this.size,0),i.stroke())}clip(i,e){}}s.TeeHead=c,c.__name__=\"TeeHead\",c.init_TeeHead()},\n", + " function _(t,n,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=t(1),o=t(86),r=s.__importStar(t(18)),i=t(8),l=t(13),a=s.__importStar(t(119)),c=t(120),u=t(121);function h(t,n,e){if(i.isArray(t)){const s=t.concat(n);return null!=e&&s.length>e?s.slice(-e):s}if(i.isTypedArray(t)){const s=t.length+n.length;if(null!=e&&s>e){const o=s-e,r=t.length;let i;t.lengthnew _.UnionRenderers]}),this.internal({selection_manager:[c.Instance,t=>new l.SelectionManager({source:t})],inspected:[c.Instance,()=>new g.Selection]})}initialize(){super.initialize(),this._select=new i.Signal0(this,\"select\"),this.inspect=new i.Signal(this,\"inspect\"),this.streaming=new i.Signal0(this,\"streaming\"),this.patching=new i.Signal(this,\"patching\")}get_column(t){const e=this.data[t];return null!=e?e:null}columns(){return h.keys(this.data)}get_length(t=!0){const e=u.uniq(h.values(this.data).map(t=>t.length));switch(e.length){case 0:return null;case 1:return e[0];default:{const n=\"data source has columns of inconsistent lengths\";if(t)return r.logger.warn(n),e.sort()[0];throw new Error(n)}}}get length(){var t;return null!==(t=this.get_length())&&void 0!==t?t:0}clear(){const t={};for(const e of this.columns())t[e]=new this.data[e].constructor(0);this.data=t}}n.ColumnarDataSource=d,d.__name__=\"ColumnarDataSource\",d.init_ColumnarDataSource()},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const c=e(1),n=e(81),o=e(88),i=c.__importStar(e(18));class r extends n.Model{constructor(e){super(e)}static init_DataSource(){this.define({selected:[i.Instance,()=>new o.Selection]})}}a.DataSource=r,r.__name__=\"DataSource\",r.init_DataSource()},\n", + " function _(i,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=i(1),n=i(81),l=t.__importStar(i(18)),c=i(9),h=i(13);class d extends n.Model{constructor(i){super(i)}get_view(){return this.view}static init_Selection(){this.define({indices:[l.Array,[]],line_indices:[l.Array,[]],multiline_indices:[l.Any,{}]}),this.internal({selected_glyphs:[l.Array,[]],view:[l.Any],image_indices:[l.Array,[]]})}initialize(){super.initialize()}get selected_glyph(){return this.selected_glyphs.length>0?this.selected_glyphs[0]:null}add_to_selected_glyphs(i){this.selected_glyphs.push(i)}update(i,e=!0,s=\"replace\"){switch(s){case\"replace\":this.indices=i.indices,this.line_indices=i.line_indices,this.selected_glyphs=i.selected_glyphs,this.view=i.view,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices;break;case\"append\":this.update_through_union(i);break;case\"intersect\":this.update_through_intersection(i);break;case\"subtract\":this.update_through_subtraction(i)}}clear(){this.indices=[],this.line_indices=[],this.multiline_indices={},this.view=null,this.selected_glyphs=[]}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=c.union(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=c.intersection(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=c.difference(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}}s.Selection=d,d.__name__=\"Selection\",d.init_Selection()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),n=e(14),o=e(88),c=e(90),r=e(116),l=i.__importStar(e(18));class p extends n.HasProps{constructor(e){super(e),this.inspectors=new Map}static init_SelectionManager(){this.internal({source:[l.Any]})}select(e,t,s,i=\"replace\"){const n=[],o=[];for(const t of e)t instanceof c.GlyphRendererView?n.push(t):t instanceof r.GraphRendererView&&o.push(t);let l=!1;for(const e of o){const n=e.model.selection_policy.hit_test(t,e);l=l||e.model.selection_policy.do_selection(n,e.model,s,i)}if(n.length>0){const e=this.source.selection_policy.hit_test(t,n);l=l||this.source.selection_policy.do_selection(e,this.source,s,i)}return l}inspect(e,t){let s=!1;if(e instanceof c.GlyphRendererView){const i=e.hit_test(t);if(null!=i){s=!i.is_empty();const n=this.get_or_create_inspector(e.model);n.update(i,!0,\"replace\"),this.source.setv({inspected:n},{silent:!0}),this.source.inspect.emit([e,{geometry:t}])}}else if(e instanceof r.GraphRendererView){const i=e.model.inspection_policy.hit_test(t,e);s=s||e.model.inspection_policy.do_inspection(i,t,e,!1,\"replace\")}return s}clear(e){this.source.selected.clear(),null!=e&&this.get_or_create_inspector(e.model).clear()}get_or_create_inspector(e){let t=this.inspectors.get(e);return null==t&&(t=new o.Selection,this.inspectors.set(e,t)),t}}s.SelectionManager=p,p.__name__=\"SelectionManager\",p.init_SelectionManager()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),l=e(91),n=e(92),h=e(110),o=e(111),a=e(113),c=e(114),_=e(24),d=s.__importStar(e(18)),r=e(12),p=e(9),g=e(13),u=e(115),y=e(98),m={fill:{},line:{}},v={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},f={fill:{fill_alpha:.2},line:{}};class w extends l.DataRendererView{async lazy_initialize(){await super.lazy_initialize();const e=this.model.glyph,t=p.includes(e._mixins,\"fill\"),i=p.includes(e._mixins,\"line\"),s=g.clone(e.attributes);function l(l){const n=g.clone(s);return t&&g.extend(n,l.fill),i&&g.extend(n,l.line),new e.constructor(n)}delete s.id,this.glyph=await this.build_glyph_view(e);let{selection_glyph:n}=this.model;null==n?n=l({fill:{},line:{}}):\"auto\"===n&&(n=l(m)),this.selection_glyph=await this.build_glyph_view(n);let{nonselection_glyph:h}=this.model;null==h?h=l({fill:{},line:{}}):\"auto\"===h&&(h=l(f)),this.nonselection_glyph=await this.build_glyph_view(h);const{hover_glyph:o}=this.model;null!=o&&(this.hover_glyph=await this.build_glyph_view(o));const{muted_glyph:a}=this.model;null!=a&&(this.muted_glyph=await this.build_glyph_view(a));const c=l(v);this.decimated_glyph=await this.build_glyph_view(c),this.set_data(!1)}async build_glyph_view(e){return u.build_view(e,{parent:this})}remove(){var e,t;this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),null===(t=this.muted_glyph)||void 0===t||t.remove(),this.decimated_glyph.remove(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.request_render()),this.connect(this.model.glyph.change,()=>this.set_data()),this.connect(this.model.data_source.change,()=>this.set_data()),this.connect(this.model.data_source.streaming,()=>this.set_data()),this.connect(this.model.data_source.patching,e=>this.set_data(!0,e)),this.connect(this.model.data_source.selected.change,()=>this.request_render()),this.connect(this.model.data_source._select,()=>this.request_render()),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,()=>this.request_render()),this.connect(this.model.properties.view.change,()=>this.set_data()),this.connect(this.model.view.properties.indices.change,()=>this.set_data()),this.connect(this.model.view.properties.masked.change,()=>this.set_visuals()),this.connect(this.model.properties.visible.change,()=>this.plot_view.update_dataranges());const{x_ranges:e,y_ranges:t}=this.plot_view.frame;for(const[,t]of e)t instanceof y.FactorRange&&this.connect(t.change,()=>this.set_data());for(const[,e]of t)e instanceof y.FactorRange&&this.connect(e.change,()=>this.set_data());this.connect(this.model.glyph.transformchange,()=>this.set_data())}_update_masked_indices(){const e=this.glyph.mask_data();return this.model.view.masked=e,e}set_data(e=!0,t=null){const i=this.model.data_source;this.all_indices=this.model.view.indices;const{all_indices:s}=this;this.glyph.set_data(i,s,t),this.set_visuals(),this._update_masked_indices();const{lod_factor:l}=this.plot_model,n=this.all_indices.count;this.decimated=new _.Indices(n);for(let e=0;e!_||_.is_empty()?[]:_.selected_glyph?this.model.view.convert_indices_from_subset(i):_.indices.length>0?_.indices:Object.keys(_.multiline_indices).map(e=>parseInt(e)))()),g=r.filter(i,e=>d.has(t[e])),{lod_threshold:u}=this.plot_model;let y,m,v;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=u&&t.length>u?(i=[...this.decimated],y=this.decimated_glyph,m=this.decimated_glyph,v=this.selection_glyph):(y=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,m=this.nonselection_glyph,v=this.selection_glyph),null!=this.hover_glyph&&g.length&&(i=p.difference(i,g)),c.length){const e={};for(const t of c)e[t]=!0;const l=new Array,h=new Array;if(this.glyph instanceof n.LineView)for(const i of t)null!=e[i]?l.push(i):h.push(i);else for(const s of i)null!=e[t[s]]?l.push(s):h.push(s);m.render(s,h,this.glyph),v.render(s,l,this.glyph),null!=this.hover_glyph&&(this.glyph instanceof n.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(g),this.glyph):this.hover_glyph.render(s,g,this.glyph))}else if(this.glyph instanceof n.LineView)this.hover_glyph&&g.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(g),this.glyph):y.render(s,t,this.glyph);else if(this.glyph instanceof h.PatchView||this.glyph instanceof o.HAreaView||this.glyph instanceof a.VAreaView)if(0==_.selected_glyphs.length||null==this.hover_glyph)y.render(s,t,this.glyph);else for(const e of _.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t,this.glyph);else y.render(s,i,this.glyph),this.hover_glyph&&g.length&&this.hover_glyph.render(s,g,this.glyph);s.restore()}draw_legend(e,t,i,s,l,n,h,o){null==o&&(o=this.model.get_reference_point(n,h)),this.glyph.draw_legend_for_index(e,{x0:t,x1:i,y0:s,y1:l},o)}hit_test(e){if(!this.model.visible)return null;const t=this.glyph.hit_test(e);return null==t?null:this.model.view.convert_selection_from_subset(t)}}i.GlyphRendererView=w,w.__name__=\"GlyphRendererView\";class b extends l.DataRenderer{constructor(e){super(e)}static init_GlyphRenderer(){this.prototype.default_view=w,this.define({data_source:[d.Instance],view:[d.Instance,()=>new c.CDSView],glyph:[d.Instance],hover_glyph:[d.Instance],nonselection_glyph:[d.Any,\"auto\"],selection_glyph:[d.Any,\"auto\"],muted_glyph:[d.Instance],muted:[d.Boolean,!1]})}initialize(){super.initialize(),null==this.view.source&&(this.view.source=this.data_source,this.view.compute_indices())}get_reference_point(e,t){let i=0;if(null!=e){const s=this.data_source.get_column(e);if(null!=s){const e=r.indexOf(s,t);-1!=e&&(i=e)}}return i}get_selection_manager(){return this.data_source.selection_manager}}i.GlyphRenderer=b,b.__name__=\"GlyphRenderer\",b.init_GlyphRenderer()},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const a=e(70);class n extends a.RendererView{get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}}t.DataRendererView=n,n.__name__=\"DataRendererView\";class s extends a.Renderer{constructor(e){super(e)}static init_DataRenderer(){this.override({level:\"glyph\"})}}t.DataRenderer=s,s.__name__=\"DataRenderer\",s.init_DataRenderer()},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1),n=e(93),l=e(100),_=e(102),r=s.__importStar(e(28)),o=s.__importStar(e(101)),h=e(88);class a extends n.XYGlyphView{initialize(){super.initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;null!=e&&(this.glglyph=new _.LineGL(e.gl,this))}_render(e,i,{sx:t,sy:s}){let n=!1,l=null;this.visuals.line.set_value(e);for(const _ of i){if(n){if(!isFinite(t[_]+s[_])){e.stroke(),e.beginPath(),n=!1,l=_;continue}null!=l&&_-l>1&&(e.stroke(),n=!1)}n?e.lineTo(t[_],s[_]):(e.beginPath(),e.moveTo(t[_],s[_]),n=!0),l=_}n&&e.stroke()}_hit_point(e){const i=new h.Selection,t={x:e.sx,y:e.sy};let s=9999;const n=Math.max(2,this.visuals.line.line_width.value()/2);for(let e=0,l=this.sx.length-1;et/2);a=new Float64Array(_);for(let i=0;i<_;i++)a[i]=e[i]-t[i];r=new Float64Array(_);for(let i=0;i<_;i++)r[i]=e[i]+t[i]}else{a=e,r=new Float64Array(_);for(let t=0;t<_;t++)r[t]=a[t]+i[t]}const l=t.v_compute(a),o=t.v_compute(r);return n?d.map(l,(t,e)=>Math.ceil(Math.abs(o[e]-l[e]))):d.map(l,(t,e)=>Math.abs(o[e]-l[e]))}draw_legend_for_index(t,e,i){}hit_test(t){switch(t.type){case\"point\":if(null!=this._hit_point)return this._hit_point(t);break;case\"span\":if(null!=this._hit_span)return this._hit_span(t);break;case\"rect\":if(null!=this._hit_rect)return this._hit_rect(t);break;case\"poly\":if(null!=this._hit_poly)return this._hit_poly(t)}return this._nohit_warned.has(t.type)||(o.logger.debug(`'${t.type}' selection not available for ${this.model.type}`),this._nohit_warned.add(t.type)),null}_hit_rect_against_index(t){const{sx0:e,sx1:i,sy0:s,sy1:n}=t,[a,r]=this.renderer.coordinates.x_scale.r_invert(e,i),[_,l]=this.renderer.coordinates.y_scale.r_invert(s,n),o=[...this.index.indices({x0:a,x1:r,y0:_,y1:l})];return new p.Selection({indices:o})}_project_data(){}set_data(t,e,i){var s,a;const{x_range:r,y_range:_}=this.renderer.coordinates;this._data_size=null!==(s=t.get_length())&&void 0!==s?s:1;for(const i of this.model){if(!(i instanceof n.VectorSpec))continue;if(i.optional&&null==i.spec.value&&!i.dirty)continue;const s=i.attr,a=i.array(t);let l=e.select(a);if(i instanceof n.BaseCoordinateSpec){const t=\"x\"==i.dimension?r:_;if(t instanceof u.FactorRange)if(i instanceof n.CoordinateSpec)l=t.v_synthetic(l);else if(i instanceof n.CoordinateSeqSpec)for(let e=0;e>1;n[s]>e?i=s:t=s+1}return n[t]}class x extends i.default{search_indices(e,n,t,i){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let o=this._boxes.length-4;const x=[],h=new s.Indices(this.numItems);for(;void 0!==o;){const s=Math.min(o+4*this.nodeSize,d(o,this._levelBounds));for(let d=o;d>2];tthis._boxes[d+2]||n>this._boxes[d+3]||(o<4*this.numItems?h.set(s):x.push(s)))}o=x.pop()}return h}}x.__name__=\"_FlatBush\";class h{constructor(e){this.index=null,e>0&&(this.index=new x(e))}add(e,n,t,i){var s;null===(s=this.index)||void 0===s||s.add(e,n,t,i)}add_empty(){var e;null===(e=this.index)||void 0===e||e.add(1/0,1/0,-1/0,-1/0)}finish(){var e;null===(e=this.index)||void 0===e||e.finish()}_normalize(e){let{x0:n,y0:t,x1:i,y1:s}=e;return n>i&&([n,i]=[i,n]),t>s&&([t,s]=[s,t]),{x0:n,y0:t,x1:i,y1:s}}get bbox(){if(null==this.index)return o.empty();{const{minX:e,minY:n,maxX:t,maxY:i}=this.index;return{x0:e,y0:n,x1:t,y1:i}}}indices(e){if(null==this.index)return new s.Indices(0);{const{x0:n,y0:t,x1:i,y1:s}=this._normalize(e);return this.index.search_indices(n,t,i,s)}}bounds(e){const n=o.empty();for(const t of this.indices(e)){const e=this.index._boxes,i=e[4*t+0],s=e[4*t+1],o=e[4*t+2],d=e[4*t+3];on.x1&&(n.x1=i),dn.y1&&(n.y1=s)}return n}}t.SpatialIndex=h,h.__name__=\"SpatialIndex\"},\n", + " function _(t,s,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(1).__importDefault(t(97)),h=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class n{static from(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[s,i]=new Uint8Array(t,0,2);if(251!==s)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(i>>4!=3)throw new Error(`Got v${i>>4} data when expected v3.`);const[e]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new n(o,e,h[15&i],t)}constructor(t,s=16,i=Float64Array,n){if(void 0===t)throw new Error(\"Missing required argument: numItems.\");if(isNaN(t)||t<=0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+s,2),65535);let o=t,r=o;this._levelBounds=[4*o];do{o=Math.ceil(o/this.nodeSize),r+=o,this._levelBounds.push(4*r)}while(1!==o);this.ArrayType=i||Float64Array,this.IndexArrayType=r<16384?Uint16Array:Uint32Array;const a=h.indexOf(this.ArrayType),_=4*r*this.ArrayType.BYTES_PER_ELEMENT;if(a<0)throw new Error(`Unexpected typed array class: ${i}.`);n&&n instanceof ArrayBuffer?(this.data=n,this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=4*r,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1]):(this.data=new ArrayBuffer(8+_+r*this.IndexArrayType.BYTES_PER_ELEMENT),this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(this.data,0,2).set([251,48+a]),new Uint16Array(this.data,2,1)[0]=s,new Uint32Array(this.data,4,1)[0]=t),this._queue=new e.default}add(t,s,i,e){const h=this._pos>>2;return this._indices[h]=h,this._boxes[this._pos++]=t,this._boxes[this._pos++]=s,this._boxes[this._pos++]=i,this._boxes[this._pos++]=e,tthis.maxX&&(this.maxX=i),e>this.maxY&&(this.maxY=e),h}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);if(this.numItems<=this.nodeSize)return this._boxes[this._pos++]=this.minX,this._boxes[this._pos++]=this.minY,this._boxes[this._pos++]=this.maxX,void(this._boxes[this._pos++]=this.maxY);const t=this.maxX-this.minX,s=this.maxY-this.minY,i=new Uint32Array(this.numItems);for(let e=0;e=Math.floor(n/o))return;const r=s[h+n>>1];let _=h-1,d=n+1;for(;;){do{_++}while(s[_]r);if(_>=d)break;a(s,i,e,_,d)}t(s,i,e,h,d,o),t(s,i,e,d+1,n,o)}(i,this._boxes,this._indices,0,this.numItems-1,this.nodeSize);for(let t=0,s=0;t>2]=t,this._boxes[this._pos++]=e,this._boxes[this._pos++]=h,this._boxes[this._pos++]=n,this._boxes[this._pos++]=o}}}search(t,s,i,e,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=[],a=[];for(;void 0!==n;){const _=Math.min(n+4*this.nodeSize,r(n,this._levelBounds));for(let r=n;r<_;r+=4){const _=0|this._indices[r>>2];ithis._boxes[r+2]||s>this._boxes[r+3]||(n<4*this.numItems?(void 0===h||h(_))&&a.push(_):o.push(_)))}n=o.pop()}return a}neighbors(t,s,i=1/0,e=1/0,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const a=this._queue,_=[],d=e*e;for(;void 0!==n;){const e=Math.min(n+4*this.nodeSize,r(n,this._levelBounds));for(let i=n;i>2],r=o(t,this._boxes[i],this._boxes[i+2]),_=o(s,this._boxes[i+1],this._boxes[i+3]),d=r*r+_*_;n<4*this.numItems?(void 0===h||h(e))&&a.push(-e-1,d):a.push(e,d)}for(;a.length&&a.peek()<0;){if(a.peekValue()>d)return a.clear(),_;if(_.push(-a.pop()-1),_.length===i)return a.clear(),_}n=a.pop()}return a.clear(),_}}function o(t,s,i){return t>1;s[h]>t?e=h:i=h+1}return s[i]}function a(t,s,i,e,h){const n=t[e];t[e]=t[h],t[h]=n;const o=4*e,r=4*h,a=s[o],_=s[o+1],d=s[o+2],x=s[o+3];s[o]=s[r],s[o+1]=s[r+1],s[o+2]=s[r+2],s[o+3]=s[r+3],s[r]=a,s[r+1]=_,s[r+2]=d,s[r+3]=x;const l=i[e];i[e]=i[h],i[h]=l}function _(t,s){let i=t^s,e=65535^i,h=65535^(t|s),n=t&(65535^s),o=i|e>>1,r=i>>1^i,a=h>>1^e&n>>1^h,_=i&h>>1^n>>1^n;i=o,e=r,h=a,n=_,o=i&i>>2^e&e>>2,r=i&e>>2^e&(i^e)>>2,a^=i&h>>2^e&n>>2,_^=e&h>>2^(i^e)&n>>2,i=o,e=r,h=a,n=_,o=i&i>>4^e&e>>4,r=i&e>>4^e&(i^e)>>4,a^=i&h>>4^e&n>>4,_^=e&h>>4^(i^e)&n>>4,i=o,e=r,h=a,n=_,a^=i&h>>8^e&n>>8,_^=e&h>>8^(i^e)&n>>8,i=a^a>>1,e=_^_>>1;let d=t^s,x=e|65535^(d|i);return d=16711935&(d|d<<8),d=252645135&(d|d<<4),d=858993459&(d|d<<2),d=1431655765&(d|d<<1),x=16711935&(x|x<<8),x=252645135&(x|x<<4),x=858993459&(x|x<<2),x=1431655765&(x|x<<1),(x<<1|d)>>>0}i.default=n},\n", + " function _(s,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});i.default=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(s,t){let i=this.length++;for(this.ids[i]=s,this.values[i]=t;i>0;){const s=i-1>>1,h=this.values[s];if(t>=h)break;this.ids[i]=this.ids[s],this.values[i]=h,i=s}this.ids[i]=s,this.values[i]=t}pop(){if(0===this.length)return;const s=this.ids[0];if(this.length--,this.length>0){const s=this.ids[0]=this.ids[this.length],t=this.values[0]=this.values[this.length],i=this.length>>1;let h=0;for(;h=t)break;this.ids[h]=e,this.values[h]=l,h=s}this.ids[h]=s,this.values[h]=t}return s}peek(){if(0!==this.length)return this.ids[0]}peekValue(){if(0!==this.length)return this.values[0]}}},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=t(1),i=t(99),r=s.__importStar(t(18)),a=t(24),o=t(9),p=t(8),g=t(11);function c(t,e,n=0){const s=new Map;for(let i=0;ia.get(t).value));r.set(t,{value:u/i,mapping:a}),p+=i+e+l}return[r,(a.size-1)*e+g]}function u(t,e,n,s,i=0){var r;const a=new Map,p=new Map;for(const[e,n,s]of t){const t=null!==(r=p.get(e))&&void 0!==r?r:[];p.set(e,[...t,[n,s]])}let g=i,c=0;for(const[t,i]of p){const r=i.length,[p,u]=l(i,n,s,g);c+=u;const h=o.sum(i.map(([t])=>p.get(t).value));a.set(t,{value:h/r,mapping:p}),g+=r+e+u}return[a,(p.size-1)*e+c]}n.map_one_level=c,n.map_two_levels=l,n.map_three_levels=u;class h extends i.Range{constructor(t){super(t)}static init_FactorRange(){this.define({factors:[r.Array,[]],factor_padding:[r.Number,0],subgroup_padding:[r.Number,.8],group_padding:[r.Number,1.4],range_padding:[r.Number,0],range_padding_units:[r.PaddingUnits,\"percent\"],start:[r.Number],end:[r.Number]}),this.internal({levels:[r.Number],mids:[r.Array,null],tops:[r.Array,null]})}get min(){return this.start}get max(){return this.end}initialize(){super.initialize(),this._init(!0)}connect_signals(){super.connect_signals(),this.connect(this.properties.factors.change,()=>this.reset()),this.connect(this.properties.factor_padding.change,()=>this.reset()),this.connect(this.properties.group_padding.change,()=>this.reset()),this.connect(this.properties.subgroup_padding.change,()=>this.reset()),this.connect(this.properties.range_padding.change,()=>this.reset()),this.connect(this.properties.range_padding_units.change,()=>this.reset())}reset(){this._init(!1),this.change.emit()}_lookup(t){switch(t.length){case 1:{const[e]=t,n=this._mapping.get(e);return null!=n?n.value:NaN}case 2:{const[e,n]=t,s=this._mapping.get(e);if(null!=s){const t=s.mapping.get(n);if(null!=t)return t.value}return NaN}case 3:{const[e,n,s]=t,i=this._mapping.get(e);if(null!=i){const t=i.mapping.get(n);if(null!=t){const e=t.mapping.get(s);if(null!=e)return e.value}}return NaN}default:g.unreachable()}}synthetic(t){if(p.isNumber(t))return t;if(p.isString(t))return this._lookup([t]);let e=0;const n=t[t.length-1];return p.isNumber(n)&&(e=n,t=t.slice(0,-1)),this._lookup(t)+e}v_synthetic(t){const e=t.length,n=new a.NumberArray(e);for(let s=0;s{if(o.every(this.factors,p.isString)){const t=this.factors,[e,n]=c(t,this.factor_padding);return{levels:1,mapping:e,tops:null,mids:null,inside_padding:n}}if(o.every(this.factors,t=>p.isArray(t)&&2==t.length&&p.isString(t[0])&&p.isString(t[1]))){const t=this.factors,[e,n]=l(t,this.group_padding,this.factor_padding),s=[...e.keys()];return{levels:2,mapping:e,tops:s,mids:null,inside_padding:n}}if(o.every(this.factors,t=>p.isArray(t)&&3==t.length&&p.isString(t[0])&&p.isString(t[1])&&p.isString(t[2]))){const t=this.factors,[e,n]=u(t,this.group_padding,this.subgroup_padding,this.factor_padding),s=[...e.keys()],i=[];for(const[t,n]of e)for(const e of n.mapping.keys())i.push([t,e]);return{levels:3,mapping:e,tops:s,mids:i,inside_padding:n}}g.unreachable()})();this._mapping=n,this.tops=s,this.mids=i;let a=0,h=this.factors.length+r;if(\"percent\"==this.range_padding_units){const t=(h-a)*this.range_padding/2;a-=t,h+=t}else a-=this.range_padding,h+=this.range_padding;this.setv({start:a,end:h,levels:e},{silent:t}),\"auto\"==this.bounds&&this.setv({bounds:[a,h]},{silent:!0})}}n.FactorRange=h,h.__name__=\"FactorRange\",h.init_FactorRange()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(81),a=n.__importStar(e(18));class r extends s.Model{constructor(e){super(e),this.have_updated_interactively=!1}static init_Range(){this.define({bounds:[a.Any],min_interval:[a.Any],max_interval:[a.Any]}),this.internal({plots:[a.Array,[]]})}get is_reversed(){return this.start>this.end}get is_valid(){return!isNaN(this.min)&&!isNaN(this.max)}}i.Range=r,r.__name__=\"Range\",r.init_Range()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1).__importStar(e(101));i.generic_line_legend=function(e,t,{x0:i,x1:n,y0:c,y1:o},r){t.save(),t.beginPath(),t.moveTo(i,(c+o)/2),t.lineTo(n,(c+o)/2),e.line.doit&&(e.line.set_vectorize(t,r),t.stroke()),t.restore()},i.generic_area_legend=function(e,t,{x0:i,x1:n,y0:c,y1:o},r){const l=.1*Math.abs(n-i),a=.1*Math.abs(o-c),s=i+l,_=n-l,h=c+a,v=o-a;e.fill.doit&&(e.fill.set_vectorize(t,r),t.fillRect(s,h,_-s,v-h)),null!=e.hatch&&e.hatch.doit&&(e.hatch.set_vectorize(t,r),t.fillRect(s,h,_-s,v-h)),e.line&&e.line.doit&&(t.beginPath(),t.rect(s,h,_-s,v-h),e.line.set_vectorize(t,r),t.stroke())},i.line_interpolation=function(e,t,i,c,o,r){const{sx:l,sy:a}=t;let s,_,h,v;\"point\"==t.type?([h,v]=e.yscale.r_invert(a-1,a+1),[s,_]=e.xscale.r_invert(l-1,l+1)):\"v\"==t.direction?([h,v]=e.yscale.r_invert(a,a),[s,_]=[Math.min(i-1,o-1),Math.max(i+1,o+1)]):([s,_]=e.xscale.r_invert(l,l),[h,v]=[Math.min(c-1,r-1),Math.max(c+1,r+1)]);const{x,y}=n.check_2_segments_intersect(s,h,_,v,i,c,o,r);return[x,y]}},\n", + " function _(t,n,e){function i(t,n){return(t.x-n.x)**2+(t.y-n.y)**2}function r(t,n,e){const r=i(n,e);if(0==r)return i(t,n);const s=((t.x-n.x)*(e.x-n.x)+(t.y-n.y)*(e.y-n.y))/r;if(s<0)return i(t,n);if(s>1)return i(t,e);return i(t,{x:n.x+s*(e.x-n.x),y:n.y+s*(e.y-n.y)})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.point_in_poly=function(t,n,e,i){let r=!1,s=e[e.length-1],o=i[i.length-1];for(let u=0;u0&&_<1&&l>0&&l<1,x:t+_*(e-t),y:n+_*(i-n)}}}},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(103),a=t(107),n=t(108),o=t(109),_=t(22);class h{constructor(t){this._atlas=new Map,this._width=256,this._height=256,this.tex=new i.Texture2d(t),this.tex.set_wrapping(t.REPEAT,t.REPEAT),this.tex.set_interpolation(t.NEAREST,t.NEAREST),this.tex.set_size([this._width,this._height],t.RGBA),this.tex.set_data([0,0],[this._width,this._height],new Uint8Array(4*this._width*this._height)),this.get_atlas_data([1])}get_atlas_data(t){const e=t.join(\"-\");let s=this._atlas.get(e);if(null==s){const[i,a]=this.make_pattern(t),n=this._atlas.size;this.tex.set_data([0,n],[this._width,1],new Uint8Array(i.map(t=>t+10))),s=[n/this._height,a],this._atlas.set(e,s)}return s}make_pattern(t){t.length>1&&t.length%2&&(t=t.concat(t));let e=0;for(const s of t)e+=s;const s=[];let i=0;for(let e=0,a=t.length+2;es[r]?-1:0,o=s[r-1],i=s[r]),n[4*t+0]=s[r],n[4*t+1]=_,n[4*t+2]=o,n[4*t+3]=i}return[n,e]}}h.__name__=\"DashAtlas\";const r={miter:0,round:1,bevel:2},l={\"\":0,none:0,\".\":0,round:1,\")\":1,\"(\":1,o:1,\"triangle in\":2,\"<\":2,\"triangle out\":3,\">\":3,square:4,\"[\":4,\"]\":4,\"=\":4,butt:5,\"|\":5};class g extends a.BaseGLGlyph{init(){const{gl:t}=this;this._scale_aspect=0;const e=n.vertex_shader,s=o.fragment_shader;this.prog=new i.Program(t),this.prog.set_shaders(e,s),this.index_buffer=new i.IndexBuffer(t),this.vbo_position=new i.VertexBuffer(t),this.vbo_tangents=new i.VertexBuffer(t),this.vbo_segment=new i.VertexBuffer(t),this.vbo_angles=new i.VertexBuffer(t),this.vbo_texcoord=new i.VertexBuffer(t),this.dash_atlas=new h(t)}draw(t,e,s){const i=e.glglyph;if(i.data_changed&&(i._set_data(),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),i._update_scale(1,1),this._scale_aspect=1,this.prog.set_attribute(\"a_position\",\"vec2\",i.vbo_position),this.prog.set_attribute(\"a_tangents\",\"vec4\",i.vbo_tangents),this.prog.set_attribute(\"a_segment\",\"vec2\",i.vbo_segment),this.prog.set_attribute(\"a_angles\",\"vec2\",i.vbo_angles),this.prog.set_attribute(\"a_texcoord\",\"vec2\",i.vbo_texcoord),this.prog.set_uniform(\"u_length\",\"float\",[i.cumsum]),this.prog.set_texture(\"u_dash_atlas\",this.dash_atlas.tex),this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[s.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[s.width,s.height]),this.prog.set_uniform(\"u_scale_aspect\",\"vec2\",[1,1]),this.prog.set_uniform(\"u_scale_length\",\"float\",[Math.sqrt(2)]),this.I_triangles=i.I_triangles,this.I_triangles.length<65535)this.index_buffer.set_size(2*this.I_triangles.length),this.index_buffer.set_data(0,new Uint16Array(this.I_triangles)),this.prog.draw(this.gl.TRIANGLES,this.index_buffer);else{t=Array.from(this.I_triangles);const e=this.I_triangles.length,s=64008,a=[];for(let t=0,i=Math.ceil(e/s);t1)for(let e=0;e0||console.log(`Variable ${t} is not an active attribute`));else if(this._unset_variables.has(t)&&this._unset_variables.delete(t),this.activate(),i instanceof s.VertexBuffer){const[s,n]=this.ATYPEINFO[e],h=\"vertexAttribPointer\",l=[s,n,!1,a,r];this._attributes.set(t,[i.handle,o,h,l])}else{const s=this.ATYPEMAP[e];this._attributes.set(t,[null,o,s,i])}}_pre_draw(){this.activate();for(const[t,e,i]of this._samplers.values())this.gl.activeTexture(this.gl.TEXTURE0+i),this.gl.bindTexture(t,e);for(const[t,e,i,s]of this._attributes.values())null!=t?(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),this.gl.enableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,...s])):(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.disableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,...s]));this._validated||(this._validated=!0,this._validate())}_validate(){if(this._unset_variables.size&&console.log(\"Program has unset variables: \"+this._unset_variables),this.gl.validateProgram(this.handle),!this.gl.getProgramParameter(this.handle,this.gl.VALIDATE_STATUS))throw console.log(this.gl.getProgramInfoLog(this.handle)),new Error(\"Program validation error\")}draw(t,e){if(!this._linked)throw new Error(\"Cannot draw program if code has not been set\");if(e instanceof s.IndexBuffer){this._pre_draw(),e.activate();const i=e.buffer_size/2,s=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,i,s,0),e.deactivate()}else{const[i,s]=e;0!=s&&(this._pre_draw(),this.gl.drawArrays(t,i,s))}}}i.Program=a,a.__name__=\"Program\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});class i{constructor(e){this.gl=e,this._usage=35048,this.buffer_size=0,this.handle=this.gl.createBuffer()}delete(){this.gl.deleteBuffer(this.handle)}activate(){this.gl.bindBuffer(this._target,this.handle)}deactivate(){this.gl.bindBuffer(this._target,null)}set_size(e){e!=this.buffer_size&&(this.activate(),this.gl.bufferData(this._target,e,this._usage),this.buffer_size=e)}set_data(e,t){this.activate(),this.gl.bufferSubData(this._target,e,t)}}s.Buffer=i,i.__name__=\"Buffer\";class r extends i{constructor(){super(...arguments),this._target=34962}}s.VertexBuffer=r,r.__name__=\"VertexBuffer\";class a extends i{constructor(){super(...arguments),this._target=34963}}s.IndexBuffer=a,a.__name__=\"IndexBuffer\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const a=t(11);class r{constructor(t){this.gl=t,this._target=3553,this._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},this.handle=this.gl.createTexture()}delete(){this.gl.deleteTexture(this.handle)}activate(){this.gl.bindTexture(this._target,this.handle)}deactivate(){this.gl.bindTexture(this._target,0)}_get_alignment(t){const e=[4,8,2,1];for(const i of e)if(t%i==0)return i;a.unreachable()}set_wrapping(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_S,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_T,e)}set_interpolation(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_MIN_FILTER,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_MAG_FILTER,e)}set_size([t,e],i){var a,r,s;t==(null===(a=this._shape_format)||void 0===a?void 0:a.width)&&e==(null===(r=this._shape_format)||void 0===r?void 0:r.height)&&i==(null===(s=this._shape_format)||void 0===s?void 0:s.format)||(this._shape_format={width:t,height:e,format:i},this.activate(),this.gl.texImage2D(this._target,0,i,t,e,0,i,this.gl.UNSIGNED_BYTE,null))}set_data(t,[e,i],a){this.activate();const{format:r}=this._shape_format,[s,h]=t,l=this._types[a.constructor.name];if(null==l)throw new Error(`Type ${a.constructor.name} not allowed for texture`);const _=this._get_alignment(e);4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,_),this.gl.texSubImage2D(this._target,0,s,h,e,i,r,l,a),4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,4)}}i.Texture2d=r,r.__name__=\"Texture2d\"},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});class s{constructor(e,t){this.gl=e,this.glyph=t,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.init()}set_data_changed(){const{data_size:e}=this.glyph;e!=this.nvertices&&(this.nvertices=e,this.size_changed=!0),this.data_changed=!0}set_visuals_changed(){this.visuals_changed=!0}render(e,t,i){if(0==t.length)return!0;const{width:s,height:h}=this.glyph.renderer.plot_view.canvas_view.webgl.canvas,a={pixel_ratio:this.glyph.renderer.plot_view.canvas_view.pixel_ratio,width:s,height:h};return this.draw(t,i,a),!0}}i.BaseGLGlyph=s,s.__name__=\"BaseGLGlyph\"},\n", + " function _(n,e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.vertex_shader=\"\\nprecision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size, u_offset;\\nuniform vec2 u_scale_aspect;\\nuniform float u_scale_length;\\n\\nuniform vec4 u_color;\\nuniform float u_antialias;\\nuniform float u_length;\\nuniform float u_linewidth;\\nuniform float u_dash_index;\\nuniform float u_closed;\\n\\nattribute vec2 a_position;\\nattribute vec4 a_tangents;\\nattribute vec2 a_segment;\\nattribute vec2 a_angles;\\nattribute vec2 a_texcoord;\\n\\nvarying vec4 v_color;\\nvarying vec2 v_segment;\\nvarying vec2 v_angles;\\nvarying vec2 v_texcoord;\\nvarying vec2 v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\nfloat cross(in vec2 v1, in vec2 v2)\\n{\\n return v1.x*v2.y - v1.y*v2.x;\\n}\\n\\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\\n{\\n return cross(v2-v1,v1-v3) / length(v2-v1);\\n}\\n\\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\\n{\\n float c = cos(alpha);\\n float s = sin(alpha);\\n result = vec2( c*v.x - s*v.y,\\n s*v.x + c*v.y );\\n}\\n\\nvoid main()\\n{\\n bool closed = (u_closed > 0.0);\\n\\n // Attributes and uniforms to varyings\\n v_color = u_color;\\n v_linewidth = u_linewidth;\\n v_segment = a_segment * u_scale_length;\\n v_length = u_length * u_scale_length;\\n\\n // Scale to map to pixel coordinates. The original algorithm from the paper\\n // assumed isotropic scale. We obviously do not have this.\\n vec2 abs_scale_aspect = abs(u_scale_aspect);\\n vec2 abs_scale = u_scale_length * abs_scale_aspect;\\n\\n // Correct angles for aspect ratio\\n vec2 av;\\n av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\\n v_angles.x = atan(av.y, av.x);\\n av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\\n v_angles.y = atan(av.y, av.x);\\n\\n // Thickness below 1 pixel are represented using a 1 pixel thickness\\n // and a modified alpha\\n v_color.a = min(v_linewidth, v_color.a);\\n v_linewidth = max(v_linewidth, 1.0);\\n\\n // If color is fully transparent we just will discard the fragment anyway\\n if( v_color.a <= 0.0 ) {\\n gl_Position = vec4(0.0,0.0,0.0,1.0);\\n return;\\n }\\n\\n // This is the actual half width of the line\\n float w = ceil(u_antialias+v_linewidth)/2.0;\\n\\n vec2 position = a_position;\\n\\n vec2 t1 = normalize(a_tangents.xy * abs_scale_aspect); // note the scaling for aspect ratio here\\n vec2 t2 = normalize(a_tangents.zw * abs_scale_aspect);\\n float u = a_texcoord.x;\\n float v = a_texcoord.y;\\n vec2 o1 = vec2( +t1.y, -t1.x);\\n vec2 o2 = vec2( +t2.y, -t2.x);\\n\\n // This is a join\\n // ----------------------------------------------------------------\\n if( t1 != t2 ) {\\n float angle = atan (t1.x*t2.y-t1.y*t2.x, t1.x*t2.x+t1.y*t2.y); // Angle needs recalculation for some reason\\n vec2 t = normalize(t1+t2);\\n vec2 o = vec2( + t.y, - t.x);\\n\\n if ( u_dash_index > 0.0 )\\n {\\n // Broken angle\\n // ----------------------------------------------------------------\\n if( (abs(angle) > THETA) ) {\\n position += v * w * o / cos(angle/2.0);\\n float s = sign(angle);\\n if( angle < 0.0 ) {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n if( v == 1.0 ) {\\n position -= 2.0 * w * t1 / sin(angle);\\n u -= 2.0 * w / sin(angle);\\n }\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n if( v == 1.0 ) {\\n position += 2.0 * w * t2 / sin(angle);\\n u += 2.0*w / sin(angle);\\n }\\n }\\n } else {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n if( v == -1.0 ) {\\n position += 2.0 * w * t1 / sin(angle);\\n u += 2.0 * w / sin(angle);\\n }\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n if( v == -1.0 ) {\\n position -= 2.0 * w * t2 / sin(angle);\\n u -= 2.0*w / sin(angle);\\n }\\n }\\n }\\n // Continuous angle\\n // ------------------------------------------------------------\\n } else {\\n position += v * w * o / cos(angle/2.0);\\n if( u == +1.0 ) u = v_segment.y;\\n else u = v_segment.x;\\n }\\n }\\n\\n // Solid line\\n // --------------------------------------------------------------------\\n else\\n {\\n position.xy += v * w * o / cos(angle/2.0);\\n if( angle < 0.0 ) {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n }\\n } else {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n }\\n }\\n }\\n\\n // This is a line start or end (t1 == t2)\\n // ------------------------------------------------------------------------\\n } else {\\n position += v * w * o1;\\n if( u == -1.0 ) {\\n u = v_segment.x - w;\\n position -= w * t1;\\n } else {\\n u = v_segment.y + w;\\n position += w * t2;\\n }\\n }\\n\\n // Miter distance\\n // ------------------------------------------------------------------------\\n vec2 t;\\n vec2 curr = a_position * abs_scale;\\n if( a_texcoord.x < 0.0 ) {\\n vec2 next = curr + t2*(v_segment.y-v_segment.x);\\n\\n rotate( t1, +v_angles.x/2.0, t);\\n v_miter.x = signed_distance(curr, curr+t, position);\\n\\n rotate( t2, +v_angles.y/2.0, t);\\n v_miter.y = signed_distance(next, next+t, position);\\n } else {\\n vec2 prev = curr - t1*(v_segment.y-v_segment.x);\\n\\n rotate( t1, -v_angles.x/2.0,t);\\n v_miter.x = signed_distance(prev, prev+t, position);\\n\\n rotate( t2, -v_angles.y/2.0,t);\\n v_miter.y = signed_distance(curr, curr+t, position);\\n }\\n\\n if (!closed && v_segment.x <= 0.0) {\\n v_miter.x = 1e10;\\n }\\n if (!closed && v_segment.y >= v_length)\\n {\\n v_miter.y = 1e10;\\n }\\n\\n v_texcoord = vec2( u, v*w );\\n\\n // Calculate position in device coordinates. Note that we\\n // already scaled with abs scale above.\\n vec2 normpos = position * sign(u_scale_aspect);\\n normpos += 0.5; // make up for Bokeh's offset\\n normpos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\\n gl_Position.y *= -1.0;\\n}\\n\"},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.fragment_shader=\"\\nprecision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform sampler2D u_dash_atlas;\\n\\nuniform vec2 u_linecaps;\\nuniform float u_miter_limit;\\nuniform float u_linejoin;\\nuniform float u_antialias;\\nuniform float u_dash_phase;\\nuniform float u_dash_period;\\nuniform float u_dash_index;\\nuniform vec2 u_dash_caps;\\nuniform float u_closed;\\n\\nvarying vec4 v_color;\\nvarying vec2 v_segment;\\nvarying vec2 v_angles;\\nvarying vec2 v_texcoord;\\nvarying vec2 v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\n// Compute distance to cap ----------------------------------------------------\\nfloat cap( int type, float dx, float dy, float t, float linewidth )\\n{\\n float d = 0.0;\\n dx = abs(dx);\\n dy = abs(dy);\\n if (type == 0) discard; // None\\n else if (type == 1) d = sqrt(dx*dx+dy*dy); // Round\\n else if (type == 3) d = (dx+abs(dy)); // Triangle in\\n else if (type == 2) d = max(abs(dy),(t+dx-abs(dy))); // Triangle out\\n else if (type == 4) d = max(dx,dy); // Square\\n else if (type == 5) d = max(dx+t,dy); // Butt\\n return d;\\n}\\n\\n// Compute distance to join -------------------------------------------------\\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\\n in float linewidth )\\n{\\n // texcoord.x is distance from start\\n // texcoord.y is distance from centerline\\n // segment.x and y indicate the limits (as for texcoord.x) for this segment\\n\\n float dx = texcoord.x;\\n\\n // Round join\\n if( type == 1 ) {\\n if (dx < segment.x) {\\n d = max(d,length( texcoord - vec2(segment.x,0.0)));\\n //d = length( texcoord - vec2(segment.x,0.0));\\n } else if (dx > segment.y) {\\n d = max(d,length( texcoord - vec2(segment.y,0.0)));\\n //d = length( texcoord - vec2(segment.y,0.0));\\n }\\n }\\n // Bevel join\\n else if ( type == 2 ) {\\n if (dx < segment.x) {\\n vec2 x = texcoord - vec2(segment.x,0.0);\\n d = max(d, max(abs(x.x), abs(x.y)));\\n\\n } else if (dx > segment.y) {\\n vec2 x = texcoord - vec2(segment.y,0.0);\\n d = max(d, max(abs(x.x), abs(x.y)));\\n }\\n /* Original code for bevel which does not work for us\\n if( (dx < segment.x) || (dx > segment.y) )\\n d = max(d, min(abs(x.x),abs(x.y)));\\n */\\n }\\n\\n return d;\\n}\\n\\nvoid main()\\n{\\n // If color is fully transparent we just discard the fragment\\n if( v_color.a <= 0.0 ) {\\n discard;\\n }\\n\\n // Test if dash pattern is the solid one (0)\\n bool solid = (u_dash_index == 0.0);\\n\\n // Test if path is closed\\n bool closed = (u_closed > 0.0);\\n\\n vec4 color = v_color;\\n float dx = v_texcoord.x;\\n float dy = v_texcoord.y;\\n float t = v_linewidth/2.0-u_antialias;\\n float width = 1.0; //v_linewidth; original code had dashes scale with line width, we do not\\n float d = 0.0;\\n\\n vec2 linecaps = u_linecaps;\\n vec2 dash_caps = u_dash_caps;\\n float line_start = 0.0;\\n float line_stop = v_length;\\n\\n // Apply miter limit; fragments too far into the miter are simply discarded\\n if( (dx < v_segment.x) || (dx > v_segment.y) ) {\\n float into_miter = max(v_segment.x - dx, dx - v_segment.y);\\n if (into_miter > u_miter_limit*v_linewidth/2.0)\\n discard;\\n }\\n\\n // Solid line --------------------------------------------------------------\\n if( solid ) {\\n d = abs(dy);\\n if( (!closed) && (dx < line_start) ) {\\n d = cap( int(u_linecaps.x), abs(dx), abs(dy), t, v_linewidth );\\n }\\n else if( (!closed) && (dx > line_stop) ) {\\n d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\\n }\\n else {\\n d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\\n }\\n\\n // Dash line --------------------------------------------------------------\\n } else {\\n float segment_start = v_segment.x;\\n float segment_stop = v_segment.y;\\n float segment_center= (segment_start+segment_stop)/2.0;\\n float freq = u_dash_period*width;\\n float u = mod( dx + u_dash_phase*width, freq);\\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\\n float dash_center= tex.x * width;\\n float dash_type = tex.y;\\n float _start = tex.z * width;\\n float _stop = tex.a * width;\\n float dash_start = dx - u + _start;\\n float dash_stop = dx - u + _stop;\\n\\n // Compute extents of the first dash (the one relative to v_segment.x)\\n // Note: this could be computed in the vertex shader\\n if( (dash_stop < segment_start) && (dash_caps.x != 5.0) ) {\\n float u = mod(segment_start + u_dash_phase*width, freq);\\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\\n dash_center= tex.x * width;\\n //dash_type = tex.y;\\n float _start = tex.z * width;\\n float _stop = tex.a * width;\\n dash_start = segment_start - u + _start;\\n dash_stop = segment_start - u + _stop;\\n }\\n\\n // Compute extents of the last dash (the one relatives to v_segment.y)\\n // Note: This could be computed in the vertex shader\\n else if( (dash_start > segment_stop) && (dash_caps.y != 5.0) ) {\\n float u = mod(segment_stop + u_dash_phase*width, freq);\\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\\n dash_center= tex.x * width;\\n //dash_type = tex.y;\\n float _start = tex.z * width;\\n float _stop = tex.a * width;\\n dash_start = segment_stop - u + _start;\\n dash_stop = segment_stop - u + _stop;\\n }\\n\\n // This test if the we are dealing with a discontinuous angle\\n bool discontinuous = ((dx < segment_center) && abs(v_angles.x) > THETA) ||\\n ((dx >= segment_center) && abs(v_angles.y) > THETA);\\n //if( dx < line_start) discontinuous = false;\\n //if( dx > line_stop) discontinuous = false;\\n\\n float d_join = join( int(u_linejoin), abs(dy),\\n v_segment, v_texcoord, v_miter, v_linewidth );\\n\\n // When path is closed, we do not have room for linecaps, so we make room\\n // by shortening the total length\\n if (closed) {\\n line_start += v_linewidth/2.0;\\n line_stop -= v_linewidth/2.0;\\n }\\n\\n // We also need to take antialias area into account\\n //line_start += u_antialias;\\n //line_stop -= u_antialias;\\n\\n // Check is dash stop is before line start\\n if( dash_stop <= line_start ) {\\n discard;\\n }\\n // Check is dash start is beyond line stop\\n if( dash_start >= line_stop ) {\\n discard;\\n }\\n\\n // Check if current dash start is beyond segment stop\\n if( discontinuous ) {\\n // Dash start is beyond segment, we discard\\n if( (dash_start > segment_stop) ) {\\n discard;\\n //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\\n }\\n\\n // Dash stop is before segment, we discard\\n if( (dash_stop < segment_start) ) {\\n discard; //gl_FragColor = vec4(0.0,1.0,0.0,.25); return;\\n }\\n\\n // Special case for round caps (nicer with this)\\n if( dash_caps.x == 1.0 ) {\\n if( (u > _stop) && (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0)) {\\n discard;\\n }\\n }\\n\\n // Special case for round caps (nicer with this)\\n if( dash_caps.y == 1.0 ) {\\n if( (u < _start) && (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0)) {\\n discard;\\n }\\n }\\n\\n // Special case for triangle caps (in & out) and square\\n // We make sure the cap stop at crossing frontier\\n if( (dash_caps.x != 1.0) && (dash_caps.x != 5.0) ) {\\n if( (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0) ) {\\n float a = v_angles.x/2.0;\\n float x = (segment_start-dx)*cos(a) - dy*sin(a);\\n float y = (segment_start-dx)*sin(a) + dy*cos(a);\\n if( x > 0.0 ) discard;\\n // We transform the cap into square to avoid holes\\n dash_caps.x = 4.0;\\n }\\n }\\n\\n // Special case for triangle caps (in & out) and square\\n // We make sure the cap stop at crossing frontier\\n if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\\n if( (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0) ) {\\n float a = v_angles.y/2.0;\\n float x = (dx-segment_stop)*cos(a) - dy*sin(a);\\n float y = (dx-segment_stop)*sin(a) + dy*cos(a);\\n if( x > 0.0 ) discard;\\n // We transform the caps into square to avoid holes\\n dash_caps.y = 4.0;\\n }\\n }\\n }\\n\\n // Line cap at start\\n if( (dx < line_start) && (dash_start < line_start) && (dash_stop > line_start) ) {\\n d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\\n }\\n // Line cap at stop\\n else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start < line_stop) ) {\\n d = cap( int(linecaps.y), dx-line_stop, dy, t, v_linewidth);\\n }\\n // Dash cap left - dash_type = -1, 0 or 1, but there may be roundoff errors\\n else if( dash_type < -0.5 ) {\\n d = cap( int(dash_caps.y), abs(u-dash_center), dy, t, v_linewidth);\\n if( (dx > line_start) && (dx < line_stop) )\\n d = max(d,d_join);\\n }\\n // Dash cap right\\n else if( dash_type > 0.5 ) {\\n d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\\n if( (dx > line_start) && (dx < line_stop) )\\n d = max(d,d_join);\\n }\\n // Dash body (plain)\\n else {// if( dash_type > -0.5 && dash_type < 0.5) {\\n d = abs(dy);\\n }\\n\\n // Line join\\n if( (dx > line_start) && (dx < line_stop)) {\\n if( (dx <= segment_start) && (dash_start <= segment_start)\\n && (dash_stop >= segment_start) ) {\\n d = d_join;\\n // Antialias at outer border\\n float angle = PI/2.+v_angles.x;\\n float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\\n d = max(f,d);\\n }\\n else if( (dx > segment_stop) && (dash_start <= segment_stop)\\n && (dash_stop >= segment_stop) ) {\\n d = d_join;\\n // Antialias at outer border\\n float angle = PI/2.+v_angles.y;\\n float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\\n d = max(f,d);\\n }\\n else if( dx < (segment_start - v_linewidth/2.)) {\\n discard;\\n }\\n else if( dx > (segment_stop + v_linewidth/2.)) {\\n discard;\\n }\\n }\\n else if( dx < (segment_start - v_linewidth/2.)) {\\n discard;\\n }\\n else if( dx > (segment_stop + v_linewidth/2.)) {\\n discard;\\n }\\n }\\n\\n // Distance to border ------------------------------------------------------\\n d = d - t;\\n if( d < 0.0 ) {\\n gl_FragColor = color;\\n } else {\\n d /= u_antialias;\\n gl_FragColor = vec4(color.rgb, exp(-d*d)*color.a);\\n }\\n}\\n\"},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1),l=e(93),_=e(100),n=s.__importStar(e(101)),o=s.__importStar(e(28)),a=e(88);class h extends l.XYGlyphView{_inner_loop(e,i,t,s,l){for(const _ of i)0!=_?isNaN(t[_]+s[_])?(e.closePath(),l.apply(e),e.beginPath()):e.lineTo(t[_],s[_]):(e.beginPath(),e.moveTo(t[_],s[_]));e.closePath(),l.call(e)}_render(e,i,{sx:t,sy:s}){this.visuals.fill.doit&&(this.visuals.fill.set_value(e),this._inner_loop(e,i,t,s,e.fill)),this.visuals.hatch.doit2(e,0,()=>this._inner_loop(e,i,t,s,e.fill),()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_value(e),this._inner_loop(e,i,t,s,e.stroke))}draw_legend_for_index(e,i,t){_.generic_area_legend(this.visuals,e,i,t)}_hit_point(e){const i=new a.Selection;return n.point_in_poly(e.sx,e.sy,this.sx,this.sy)&&(i.add_to_selected_glyphs(this.model),i.view=this),i}}t.PatchView=h,h.__name__=\"PatchView\";class r extends l.XYGlyph{constructor(e){super(e)}static init_Patch(){this.prototype.default_view=h,this.mixins([o.Line,o.Fill,o.Hatch])}}t.Patch=r,r.__name__=\"Patch\",r.init_Patch()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),r=e(24),n=e(112),a=i.__importStar(e(101)),_=i.__importStar(e(18)),h=e(88);class l extends n.AreaView{_index_data(e){const{min:t,max:s}=Math,{data_size:i}=this;for(let r=0;r=0;t--)e.lineTo(s[t],i[t]);e.closePath(),r.call(e)}_render(e,t,{sx1:s,sx2:i,sy:r}){this.visuals.fill.doit&&(this.visuals.fill.set_value(e),this._inner(e,s,i,r,e.fill)),this.visuals.hatch.doit2(e,0,()=>this._inner(e,s,i,r,e.fill),()=>this.renderer.request_render())}_hit_point(e){const t=this.sy.length,s=new r.NumberArray(2*t),i=new r.NumberArray(2*t);for(let e=0,r=t;e=0;s--)e.lineTo(t[s],i[s]);e.closePath(),r.call(e)}_render(e,t,{sx:s,sy1:i,sy2:r}){this.visuals.fill.doit&&(this.visuals.fill.set_value(e),this._inner(e,s,i,r,e.fill)),this.visuals.hatch.doit2(e,0,()=>this._inner(e,s,i,r,e.fill),()=>this.renderer.request_render())}scenterxy(e){return[this.sx[e],(this.sy1[e]+this.sy2[e])/2]}_hit_point(e){const t=this.sx.length,s=new r.NumberArray(2*t),i=new r.NumberArray(2*t);for(let e=0,r=t;ethis.compute_indices());const i=()=>{const i=()=>this.compute_indices();null!=this.source&&(this.connect(this.source.change,i),this.source instanceof _.ColumnarDataSource&&(this.connect(this.source.streaming,i),this.connect(this.source.patching,i)))};let e=null!=this.source;e?i():this.connect(this.properties.source.change,()=>{e||(i(),e=!0)})}compute_indices(){var i;const{source:e}=this;if(null==e)return;const s=null!==(i=e.get_length())&&void 0!==i?i:1,t=r.Indices.all_set(s);for(const i of this.filters)t.intersect(i.compute_indices(e));this.indices=t,this._indices=[...t],this.indices_map_to_subset()}indices_map_to_subset(){this.indices_map={};for(let i=0;ithis._indices[i]);return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_selection_to_subset(i){const e=i.indices.map(i=>this.indices_map[i]);return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_indices_from_subset(i){return i.map(i=>this._indices[i])}}s.CDSView=a,a.__name__=\"CDSView\",a.init_CDSView()},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(9);async function i(e,n,t){const o=new e(Object.assign(Object.assign({},t),{model:n}));return o.initialize(),await o.lazy_initialize(),o}t.build_view=async function(e,n={parent:null},t=(e=>e.default_view)){const o=await i(t(e),e,n);return o.connect_signals(),o},t.build_views=async function(e,n,t={parent:null},s=(e=>e.default_view)){const c=o.difference([...e.keys()],n);for(const n of c)e.get(n).remove(),e.delete(n);const a=[],f=n.filter(n=>!e.has(n));for(const n of f){const o=await i(s(n),n,t);e.set(n,o),a.push(o)}for(const e of a)e.connect_signals();return a},t.remove_views=function(e){for(const[n,t]of e)t.remove(),e.delete(n)}},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(1),i=e(91),s=e(117),a=t.__importStar(e(18)),o=e(115),_=e(11);class l extends i.DataRendererView{async lazy_initialize(){await super.lazy_initialize();const e=this.model;let r=null,n=null;const t={v_compute(n){_.assert(null==r);const[t]=r=e.layout_provider.get_edge_coordinates(n);return t}},i={v_compute(e){_.assert(null!=r);const[,n]=r;return r=null,n}},s={v_compute(r){_.assert(null==n);const[t]=n=e.layout_provider.get_node_coordinates(r);return t}},a={v_compute(e){_.assert(null!=n);const[,r]=n;return n=null,r}},{edge_renderer:l,node_renderer:d}=this.model;l.glyph.properties.xs.internal=!0,l.glyph.properties.ys.internal=!0,d.glyph.properties.x.internal=!0,d.glyph.properties.y.internal=!0,l.glyph.xs={expr:t},l.glyph.ys={expr:i},d.glyph.x={expr:s},d.glyph.y={expr:a};const{parent:p}=this;this.edge_view=await o.build_view(l,{parent:p}),this.node_view=await o.build_view(d,{parent:p})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,()=>{this.edge_view.set_data(!1),this.node_view.set_data(!1),this.request_render()})}remove(){this.edge_view.remove(),this.node_view.remove(),super.remove()}_render(){this.edge_view.render(),this.node_view.render()}}n.GraphRendererView=l,l.__name__=\"GraphRendererView\";class d extends i.DataRenderer{constructor(e){super(e)}static init_GraphRenderer(){this.prototype.default_view=l,this.define({layout_provider:[a.Instance],node_renderer:[a.Instance],edge_renderer:[a.Instance],selection_policy:[a.Instance,()=>new s.NodesOnly],inspection_policy:[a.Instance,()=>new s.NodesOnly]})}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}n.GraphRenderer=d,d.__name__=\"GraphRenderer\",d.init_GraphRenderer()},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const d=e(81),s=e(12),o=e(9),_=e(88);class i extends d.Model{constructor(e){super(e)}_hit_test_nodes(e,t){if(!t.model.visible)return null;const n=t.node_view.glyph.hit_test(e);return null==n?null:t.node_view.model.view.convert_selection_from_subset(n)}_hit_test_edges(e,t){if(!t.model.visible)return null;const n=t.edge_view.glyph.hit_test(e);return null==n?null:t.edge_view.model.view.convert_selection_from_subset(n)}}n.GraphHitTestPolicy=i,i.__name__=\"GraphHitTestPolicy\";class r extends i{constructor(e){super(e)}hit_test(e,t){return this._hit_test_nodes(e,t)}do_selection(e,t,n,d){if(null==e)return!1;const s=t.node_renderer.data_source.selected;return s.update(e,n,d),t.node_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,n,d,s){if(null==e)return!1;const o=n.model.get_selection_manager().get_or_create_inspector(n.node_view.model);return o.update(e,d,s),n.node_view.model.data_source.setv({inspected:o},{silent:!0}),n.node_view.model.data_source.inspect.emit([n.node_view,{geometry:t}]),!o.is_empty()}}n.NodesOnly=r,r.__name__=\"NodesOnly\";class c extends i{constructor(e){super(e)}hit_test(e,t){return this._hit_test_nodes(e,t)}get_linked_edges(e,t,n){let d=[];\"selection\"==n?d=e.selected.indices.map(t=>e.data.index[t]):\"inspection\"==n&&(d=e.inspected.indices.map(t=>e.data.index[t]));const s=[];for(let e=0;es.indexOf(e.data.index,t));return new _.Selection({indices:r})}do_selection(e,t,n,d){if(null==e)return!1;const s=t.edge_renderer.data_source.selected;s.update(e,n,d);const o=t.node_renderer.data_source.selected,_=this.get_linked_nodes(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.update(_,n,d),t.edge_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,n,d,s){if(null==e)return!1;const o=n.edge_view.model.data_source.selection_manager.get_or_create_inspector(n.edge_view.model);o.update(e,d,s),n.edge_view.model.data_source.setv({inspected:o},{silent:!0});const _=n.node_view.model.data_source.selection_manager.get_or_create_inspector(n.node_view.model),i=this.get_linked_nodes(n.node_view.model.data_source,n.edge_view.model.data_source,\"inspection\");return _.update(i,d,s),n.node_view.model.data_source.setv({inspected:_},{silent:!0}),n.edge_view.model.data_source.inspect.emit([n.edge_view,{geometry:t}]),!o.is_empty()}}n.EdgesAndLinkedNodes=a,a.__name__=\"EdgesAndLinkedNodes\"},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=e(81);class o extends s.Model{do_selection(e,t,n,s){return null!==e&&(t.selected.update(e,n,s),t._select.emit(),!t.selected.is_empty())}}n.SelectionPolicy=o,o.__name__=\"SelectionPolicy\";class r extends o{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!==t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_intersection(t);return e}return null}}n.IntersectRenderers=r,r.__name__=\"IntersectRenderers\";class c extends o{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!==t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_union(t);return e}return null}}n.UnionRenderers=c,c.__name__=\"UnionRenderers\"},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.concat=function(t,...e){let n=t.length;for(const t of e)n+=t.length;const o=new t.constructor(n);o.set(t,0);let c=t.length;for(const t of e)o.set(t,c),c+=t.length;return o}},\n", + " function _(n,o,e){function t(...n){const o=new Set;for(const e of n)for(const n of e)o.add(n);return o}Object.defineProperty(e,\"__esModule\",{value:!0}),e.union=t,e.intersection=function(n,...o){const e=new Set;n:for(const t of n){for(const n of o)if(!n.has(t))continue n;e.add(t)}return e},e.difference=function(n,...o){const e=new Set(n);for(const n of t(...o))e.delete(n);return e}},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(14);class o{constructor(e){this.document=e}}s.DocumentEvent=o,o.__name__=\"DocumentEvent\";class r extends o{constructor(e,t,s){super(e),this.events=t,this.setter_id=s}}s.DocumentEventBatch=r,r.__name__=\"DocumentEventBatch\";class d extends o{}s.DocumentChangedEvent=d,d.__name__=\"DocumentChangedEvent\";class _ extends d{constructor(e,t,s){super(e),this.msg_type=t,this.msg_data=s}json(e){const t=this.msg_data,s=n.HasProps._value_to_json(t),o=new Set;return n.HasProps._value_record_references(t,o,{recursive:!0}),{kind:\"MessageSent\",msg_type:this.msg_type,msg_data:s}}}s.MessageSentEvent=_,_.__name__=\"MessageSentEvent\";class i extends d{constructor(e,t,s,n,o,r,d){super(e),this.model=t,this.attr=s,this.old=n,this.new_=o,this.setter_id=r,this.hint=d}json(e){if(\"id\"===this.attr)throw new Error(\"'id' field should never change, whatever code just set it is wrong\");if(null!=this.hint)return this.hint.json(e);const t=this.new_,s=n.HasProps._value_to_json(t),o=new Set;n.HasProps._value_record_references(t,o,{recursive:!0}),o.has(this.model)&&this.model!==t&&o.delete(this.model);for(const t of o)e.add(t);return{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:s}}}s.ModelChangedEvent=i,i.__name__=\"ModelChangedEvent\";class a extends d{constructor(e,t,s){super(e),this.column_source=t,this.patches=s}json(e){return{kind:\"ColumnsPatched\",column_source:this.column_source,patches:this.patches}}}s.ColumnsPatchedEvent=a,a.__name__=\"ColumnsPatchedEvent\";class c extends d{constructor(e,t,s,n){super(e),this.column_source=t,this.data=s,this.rollover=n}json(e){return{kind:\"ColumnsStreamed\",column_source:this.column_source,data:this.data,rollover:this.rollover}}}s.ColumnsStreamedEvent=c,c.__name__=\"ColumnsStreamedEvent\";class h extends d{constructor(e,t,s){super(e),this.title=t,this.setter_id=s}json(e){return{kind:\"TitleChanged\",title:this.title}}}s.TitleChangedEvent=h,h.__name__=\"TitleChangedEvent\";class u extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}json(e){return n.HasProps._value_record_references(this.model,e,{recursive:!0}),{kind:\"RootAdded\",model:this.model.ref()}}}s.RootAddedEvent=u,u.__name__=\"RootAddedEvent\";class l extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}json(e){return{kind:\"RootRemoved\",model:this.model.ref()}}}s.RootRemovedEvent=l,l.__name__=\"RootRemovedEvent\"},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(1),l=e(123),_=i.__importStar(e(28));class o extends l.UpperLowerView{connect_signals(){super.connect_signals();const e=()=>this.set_data(this.model.source);this.connect(this.model.change,e),this.connect(this.model.source.streaming,e),this.connect(this.model.source.patching,e),this.connect(this.model.source.change,e)}_render(){this._map_data();const{ctx:e}=this.layer;e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,t=this._lower_sx.length;s=0;s--)e.lineTo(this._upper_sx[s],this._upper_sy[s]);e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(e),e.fill()),e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,t=this._lower_sx.length;snew r.ColumnDataSource]})}}i.UpperLower=a,a.__name__=\"UpperLower\",a.init_UpperLower()},\n", + " function _(t,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const e=t(1),o=t(36),n=t(15),l=e.__importStar(t(28)),a=e.__importStar(t(18)),h=t(79);s.EDGE_TOLERANCE=2.5;class r extends o.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_paint(this)),this.connect(this.model.data_update,()=>this.plot_view.request_paint(this))}_render(){if(null==this.model.left&&null==this.model.right&&null==this.model.top&&null==this.model.bottom)return;const{frame:t}=this.plot_view,i=this.coordinates.x_scale,s=this.coordinates.y_scale,e=(t,i,s,e,o)=>{let n;return n=null!=t?this.model.screen?t:\"data\"==i?s.compute(t):e.compute(t):o,n};this.sleft=e(this.model.left,this.model.left_units,i,t.xview,t.bbox.left),this.sright=e(this.model.right,this.model.right_units,i,t.xview,t.bbox.right),this.stop=e(this.model.top,this.model.top_units,s,t.yview,t.bbox.top),this.sbottom=e(this.model.bottom,this.model.bottom_units,s,t.yview,t.bbox.bottom),this._paint_box(this.sleft,this.sright,this.sbottom,this.stop)}_paint_box(t,i,s,e){const{ctx:o}=this.layer;o.save(),o.beginPath(),o.rect(t,e,i-t,s-e),this.visuals.fill.doit&&(this.visuals.fill.set_value(o),o.fill()),this.visuals.line.doit&&(this.visuals.line.set_value(o),o.stroke()),o.restore()}interactive_bbox(){const t=this.model.properties.line_width.value()+s.EDGE_TOLERANCE;return new h.BBox({x0:this.sleft-t,y0:this.stop-t,x1:this.sright+t,y1:this.sbottom+t})}interactive_hit(t,i){if(null==this.model.in_cursor)return!1;return this.interactive_bbox().contains(t,i)}cursor(t,i){return Math.abs(t-this.sleft)<3||Math.abs(t-this.sright)<3?this.model.ew_cursor:Math.abs(i-this.sbottom)<3||Math.abs(i-this.stop)<3?this.model.ns_cursor:t>this.sleft&&tthis.stop&&ithis.plot_view.request_render()),this.connect(this.model.formatter.change,()=>this.plot_view.request_render()),null!=this.model.color_mapper&&this.connect(this.model.color_mapper.change,()=>{this._set_canvas_image(),this.plot_view.request_render()})}_get_size(){if(null==this.model.color_mapper)return{width:0,height:0};{const{width:t,height:e}=this.compute_legend_dimensions();return{width:t,height:e}}}_set_canvas_image(){if(null==this.model.color_mapper)return;let t,e,{palette:i}=this.model.color_mapper;switch(\"vertical\"==this.model.orientation&&(i=g.reversed(i)),this.model.orientation){case\"vertical\":[t,e]=[1,i.length];break;case\"horizontal\":[t,e]=[i.length,1]}const o=document.createElement(\"canvas\");o.width=t,o.height=e;const a=o.getContext(\"2d\"),s=a.getImageData(0,0,t,e),r=new n.LinearColorMapper({palette:i}).rgba_mapper.v_compute(g.range(0,i.length));s.data.set(r),a.putImageData(s,0,0),this.image=o}compute_legend_dimensions(){const t=this._computed_image_dimensions(),[e,i]=[t.height,t.width],o=this._get_label_extent(),a=this._title_extent(),s=this._tick_extent(),{padding:r}=this.model;let n,l;switch(this.model.orientation){case\"vertical\":n=e+a+2*r,l=i+s+o+2*r;break;case\"horizontal\":n=e+a+s+o+2*r,l=i+2*r}return{width:l,height:n}}compute_legend_location(){const t=this.compute_legend_dimensions(),[e,i]=[t.height,t.width],o=this.model.margin,a=null!=this.panel?this.panel:this.plot_view.frame,[s,r]=a.bbox.ranges,{location:n}=this.model;let l,_;if(f.isString(n))switch(n){case\"top_left\":l=s.start+o,_=r.start+o;break;case\"top_center\":l=(s.end+s.start)/2-i/2,_=r.start+o;break;case\"top_right\":l=s.end-o-i,_=r.start+o;break;case\"bottom_right\":l=s.end-o-i,_=r.end-o-e;break;case\"bottom_center\":l=(s.end+s.start)/2-i/2,_=r.end-o-e;break;case\"bottom_left\":l=s.start+o,_=r.end-o-e;break;case\"center_left\":l=s.start+o,_=(r.end+r.start)/2-e/2;break;case\"center\":l=(s.end+s.start)/2-i/2,_=(r.end+r.start)/2-e/2;break;case\"center_right\":l=s.end-o-i,_=(r.end+r.start)/2-e/2}else if(f.isArray(n)&&2==n.length){const[t,i]=n;l=a.xview.compute(t),_=a.yview.compute(i)-e}else b.unreachable();return{sx:l,sy:_}}_render(){if(null==this.model.color_mapper)return;const{ctx:t}=this.layer;t.save();const{sx:e,sy:i}=this.compute_legend_location();t.translate(e,i),this._draw_bbox(t);const o=this._get_image_offset();t.translate(o.x,o.y),this._draw_image(t);const a=this.tick_info();this._draw_major_ticks(t,a),this._draw_minor_ticks(t,a),this._draw_major_labels(t,a),this.model.title&&this._draw_title(t),t.restore()}_draw_bbox(t){const e=this.compute_legend_dimensions();t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(0,0,e.width,e.height)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()}_draw_image(t){const e=this._computed_image_dimensions();t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this.image,0,0,e.width,e.height),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()}_draw_major_ticks(t,e){if(!this.visuals.major_tick_line.doit)return;const[i,o]=this._normals(),a=this._computed_image_dimensions(),[s,r]=[a.width*i,a.height*o],[n,l]=e.coords.major,_=this.model.major_tick_in,h=this.model.major_tick_out;t.save(),t.translate(s,r),this.visuals.major_tick_line.set_value(t);for(let e=0,a=n.length;ei.measureText(t.toString()).width));break;case\"horizontal\":e=u.measure_font(this.visuals.major_label_text.font_value()).height}e+=this.model.label_standoff,i.restore()}return e}_get_image_offset(){return{x:this.model.padding,y:this.model.padding+this._title_extent()}}_normals(){return\"vertical\"==this.model.orientation?[1,0]:[0,1]}_title_extent(){const t=this.model.title_text_font+\" \"+this.model.title_text_font_size+\" \"+this.model.title_text_font_style;return this.model.title?u.measure_font(t).height+this.model.title_standoff:0}_tick_extent(){return g.max([this.model.major_tick_out,this.model.minor_tick_out])}_computed_image_dimensions(){const t=this.plot_view.frame.bbox.height,e=this.plot_view.frame.bbox.width,i=this._title_extent();let o,a;switch(this.model.orientation){case\"vertical\":\"auto\"==this.model.height?null!=this.panel?o=t-2*this.model.padding-i:(o=g.max([25*this.model.color_mapper.palette.length,.3*t]),o=g.min([o,.8*t-2*this.model.padding-i])):o=this.model.height,a=\"auto\"==this.model.width?25:this.model.width;break;case\"horizontal\":o=\"auto\"==this.model.height?25:this.model.height,\"auto\"==this.model.width?null!=this.panel?a=e-2*this.model.padding:(a=g.max([25*this.model.color_mapper.palette.length,.3*e]),a=g.min([a,.8*e-2*this.model.padding])):a=this.model.width}return{width:a,height:o}}_tick_coordinate_scale(t){const e={source_range:new m.Range1d({start:this.model.color_mapper.metrics.min,end:this.model.color_mapper.metrics.max}),target_range:new m.Range1d({start:0,end:t})},{color_mapper:i}=this.model;if(i instanceof n.LinearColorMapper)return new l.LinearScale(e);if(i instanceof n.LogColorMapper)return new h.LogScale(e);if(i instanceof n.ScanningColorMapper){const{binning:t}=i.metrics;return new _.LinearInterpolationScale(Object.assign(Object.assign({},e),{binning:t}))}b.unreachable()}_format_major_labels(t,e){const i=this.model.formatter.doFormat(t,null);for(let t=0,o=e.length;tr||(h[o].push(l[t]),h[a].push(0));for(let t=0,e=_.length;tr||(m[o].push(_[t]),m[a].push(0));const d={major:this._format_major_labels(h[o],l)},c={major:[[],[]],minor:[[],[]]};return c.major[o]=i.v_compute(h[o]),c.minor[o]=i.v_compute(m[o]),c.major[a]=h[a],c.minor[a]=m[a],\"vertical\"==this.model.orientation&&(c.major[o]=p.map(c.major[o],t=>e-t),c.minor[o]=p.map(c.minor[o],t=>e-t)),{coords:c,labels:d}}}i.ColorBarView=v,v.__name__=\"ColorBarView\";class w extends a.Annotation{constructor(t){super(t)}static init_ColorBar(){this.prototype.default_view=v,this.mixins([[\"major_label_\",d.Text],[\"title_\",d.Text],[\"major_tick_\",d.Line],[\"minor_tick_\",d.Line],[\"border_\",d.Line],[\"bar_\",d.Line],[\"background_\",d.Fill]]),this.define({location:[c.Any,\"top_right\"],orientation:[c.Orientation,\"vertical\"],title:[c.String],title_standoff:[c.Number,2],width:[c.Any,\"auto\"],height:[c.Any,\"auto\"],scale_alpha:[c.Number,1],ticker:[c.Instance,()=>new s.BasicTicker],formatter:[c.Instance,()=>new r.BasicTickFormatter],major_label_overrides:[c.Any,{}],color_mapper:[c.Instance],label_standoff:[c.Number,5],margin:[c.Number,30],padding:[c.Number,10],major_tick_in:[c.Number,5],major_tick_out:[c.Number,0],minor_tick_in:[c.Number,0],minor_tick_out:[c.Number,0]}),this.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_align:\"center\",major_label_text_baseline:\"middle\",major_label_text_font_size:\"11px\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"13px\",title_text_font_style:\"italic\"})}}i.ColorBar=w,w.__name__=\"ColorBar\",w.init_ColorBar()},\n", + " function _(e,c,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(127);class r extends i.AdaptiveTicker{constructor(e){super(e)}}s.BasicTicker=r,r.__name__=\"BasicTicker\"},\n", + " function _(t,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const a=t(1),s=t(128),n=t(9),r=a.__importStar(t(18));class _ extends s.ContinuousTicker{constructor(t){super(t)}static init_AdaptiveTicker(){this.define({base:[r.Number,10],mantissas:[r.Array,[1,2,5]],min_interval:[r.Number,0],max_interval:[r.Number]})}initialize(){super.initialize();const t=n.nth(this.mantissas,-1)/this.base,i=n.nth(this.mantissas,0)*this.base;this.extended_mantissas=[t,...this.mantissas,i],this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()}get_interval(t,i,e){const a=i-t,s=this.get_ideal_interval(t,i,e),r=Math.floor(function(t,i=Math.E){return Math.log(t)/Math.log(i)}(s/this.base_factor,this.base)),_=this.base**r*this.base_factor,h=this.extended_mantissas,m=h.map(t=>Math.abs(e-a/(t*_))),o=h[n.argmin(m)];return c=o*_,l=this.get_min_interval(),u=this.get_max_interval(),Math.max(l,Math.min(u,c));var c,l,u}}e.AdaptiveTicker=_,_.__name__=\"AdaptiveTicker\",_.init_AdaptiveTicker()},\n", + " function _(t,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(1),r=t(129),s=n.__importStar(t(18)),o=t(9);class _ extends r.Ticker{constructor(t){super(t)}static init_ContinuousTicker(){this.define({num_minor_ticks:[s.Number,5],desired_num_ticks:[s.Number,6]})}get_ticks(t,i,e,n,r){return this.get_ticks_no_defaults(t,i,n,this.desired_num_ticks)}get_ticks_no_defaults(t,i,e,n){const r=this.get_interval(t,i,n),s=Math.floor(t/r),_=Math.ceil(i/r);let c;c=isFinite(s)&&isFinite(_)?o.range(s,_+1):[];const u=c.map(t=>t*r).filter(e=>t<=e&&e<=i),a=this.num_minor_ticks,l=[];if(a>0&&u.length>0){const e=r/a,n=o.range(0,a).map(t=>t*e);for(const e of n.slice(1)){const n=u[0]-e;t<=n&&n<=i&&l.push(n)}for(const e of u)for(const r of n){const n=e+r;t<=n&&n<=i&&l.push(n)}}return{major:u,minor:l}}get_min_interval(){return this.min_interval}get_max_interval(){return null!=this.max_interval?this.max_interval:1/0}get_ideal_interval(t,i,e){return(i-t)/e}}e.ContinuousTicker=_,_.__name__=\"ContinuousTicker\",_.init_ContinuousTicker()},\n", + " function _(e,c,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(81);class r extends o.Model{constructor(e){super(e)}}n.Ticker=r,r.__name__=\"Ticker\"},\n", + " function _(i,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=i(1),s=i(131),n=r.__importStar(i(18));class o extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}static init_BasicTickFormatter(){this.define({precision:[n.Any,\"auto\"],use_scientific:[n.Boolean,!0],power_limit_high:[n.Number,5],power_limit_low:[n.Number,-3]})}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}_need_sci(i){if(!this.use_scientific)return!1;const{scientific_limit_high:t}=this,{scientific_limit_low:e}=this,r=i.length<2?0:Math.abs(i[1]-i[0])/1e4;for(const s of i){const i=Math.abs(s);if(!(i<=r)&&(i>=t||i<=e))return!0}return!1}_format_with_precision(i,t,e){const r=new Array(i.length);if(t)for(let t=0,s=i.length;t=1;r?s++:s--){if(t){e[0]=i[0].toExponential(s);for(let t=1;tu(e,d))),s=g<0||g>=t.length?r:t[g],c[_]=s}}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const n=t(1),o=t(136),_=n.__importStar(t(18)),i=t(8),l=t(22),c=t(32);function a(t){return i.isNumber(t)?t:(\"#\"!=t[0]&&(t=l.color2hex(t)),9!=t.length&&(t+=\"ff\"),parseInt(t.slice(1),16))}function s(t){const e=new Uint32Array(t.length);for(let r=0,n=t.length;rt)),e}get rgba_mapper(){const t=this,e=s(this.palette),r=this._colors(a);return{v_compute(n){const o=new Uint32Array(n.length);return t._v_compute(n,o,e,r),p(o)}}}_colors(t){return{nan_color:t(this.nan_color)}}}r.ColorMapper=u,u.__name__=\"ColorMapper\",u.init_ColorMapper()},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(137);class s extends o.Transform{constructor(e){super(e)}compute(e){throw new Error(\"mapping single values is not supported\")}}n.Mapper=s,s.__name__=\"Mapper\"},\n", + " function _(e,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(81);class s extends r.Model{constructor(e){super(e)}}o.Transform=s,s.__name__=\"Transform\"},\n", + " function _(r,e,a){Object.defineProperty(a,\"__esModule\",{value:!0});const t=r(1),s=r(134),i=r(136),c=t.__importStar(r(18));class n extends i.Mapper{constructor(r){super(r)}static init_CategoricalMarkerMapper(){this.define({factors:[c.Array],markers:[c.Array],start:[c.Number,0],end:[c.Number],default_value:[c.MarkerType,\"circle\"]})}v_compute(r){const e=new Array(r.length);return s.cat_v_compute(r,this.factors,this.markers,e,this.start,this.end,this.default_value),e}}a.CategoricalMarkerMapper=n,n.__name__=\"CategoricalMarkerMapper\",n.init_CategoricalMarkerMapper()},\n", + " function _(t,e,a){Object.defineProperty(a,\"__esModule\",{value:!0});const r=t(1),n=t(134),s=t(136),i=r.__importStar(t(18));class c extends s.Mapper{constructor(t){super(t)}static init_CategoricalPatternMapper(){this.define({factors:[i.Array],patterns:[i.Array],start:[i.Number,0],end:[i.Number],default_value:[i.HatchPatternType,\" \"]})}v_compute(t){const e=new Array(t.length);return n.cat_v_compute(t,this.factors,this.patterns,e,this.start,this.end,this.default_value),e}}a.CategoricalPatternMapper=c,c.__name__=\"CategoricalPatternMapper\",c.init_CategoricalPatternMapper()},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(135),s=t(90),l=t(9),i=t(8);class c extends n.ColorMapper{constructor(t){super(t),this._scan_data=null}static init_ContinuousColorMapper(){this.define(({Number:t,String:o,Null:e,Ref:n,Color:l,Or:i,Tuple:c,Array:a})=>({high:[i(t,e),null],low:[i(t,e),null],high_color:[i(l,e),null],low_color:[i(l,e),null],domain:[a(c(n(s.GlyphRenderer),i(o,a(o)))),[]]}))}connect_signals(){super.connect_signals();const t=()=>{for(const[t]of this.domain)this.connect(t.view.change,()=>this.update_data()),this.connect(t.data_source.selected.change,()=>this.update_data())};this.connect(this.properties.domain.change,()=>t()),t()}update_data(){const{domain:t,palette:o}=this,e=[...this._collect(t)];this._scan_data=this.scan(e,o.length),this.change.emit()}get metrics(){return null==this._scan_data&&this.update_data(),this._scan_data}*_collect(t){for(const[o,e]of t)for(const t of i.isArray(e)?e:[e]){let e=o.data_source.get_column(t);e=o.view.indices.select(e);const n=o.view.masked,s=o.data_source.selected.indices;let c;if(null!=n&&s.length>0?c=l.intersection([...n],s):null!=n?c=[...n]:s.length>0&&(c=s),null!=c&&(e=l.map(c,t=>e[t])),e.length>0&&!i.isNumber(e[0]))for(const t of e)yield*t;else yield*e}}_v_compute(t,o,e,n){const{nan_color:s}=n;let{low_color:i,high_color:c}=n;null==i&&(i=e[0]),null==c&&(c=e[e.length-1]);const{domain:a}=this,r=l.is_empty(a)?t:[...this._collect(a)];this._scan_data=this.scan(r,e.length);for(let n=0,l=t.length;na?e:r[l]}}o.LinearColorMapper=a,a.__name__=\"LinearColorMapper\"},\n", + " function _(o,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=o(140),r=o(12);class l extends e.ContinuousColorMapper{constructor(o){super(o)}scan(o,t){const n=null!=this.low?this.low:r.min(o),e=null!=this.high?this.high:r.max(o);return{max:e,min:n,scale:t/(Math.log(e)-Math.log(n))}}cmap(o,t,n,e,r){const l=t.length-1;if(o>r.max)return e;if(o==r.max)return t[l];if(ol&&(s=l),t[s]}}n.LogColorMapper=l,l.__name__=\"LogColorMapper\"},\n", + " function _(n,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=n(140),o=n(12);class t extends i.ContinuousColorMapper{constructor(n){super(n)}cmap(n,e,r,i,t){if(nt.binning[t.binning.length-1])return i;return e[o.left_edge_index(n,t.binning)]}}r.ScanningColorMapper=t,t.__name__=\"ScanningColorMapper\"},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=n(1),o=n(143),r=n(12),s=n(9),a=i.__importStar(n(18)),l=n(19);class p extends o.ScanningColorMapper{constructor(n){super(n)}static init_EqHistColorMapper(){this.define({bins:[a.Int,65536]})}scan(n,t){const e=null!=this.low?this.low:r.min(n),i=null!=this.high?this.high:r.max(n),o=this.bins,a=s.linspace(e,i,o+1),p=r.bin_counts(n,a),c=new Array(o);for(let n=0,t=a.length;nn/u);let m=t-1,_=[],M=0,f=2*t;for(;m!=t&&M<4&&0!=m;){const n=f/m;if(n>1e3)break;f=Math.round(Math.max(t*n,t));const e=s.range(0,f),i=r.map(g,n=>n*(f-1));_=r.interpolate(e,i,c);m=s.uniq(_).length-1,M++}if(0==m){_=[e,i];for(let n=0;nthis._sorted_dirty=!0)}v_compute(t){const e=new i.NumberArray(t.length);for(let r=0;rs*(e[t]-e[r])),this._x_sorted=new i.NumberArray(n),this._y_sorted=new i.NumberArray(n);for(let t=0;tthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(t==this._x_sorted[0])return this._y_sorted[0];const s=_.find_last_index(this._x_sorted,s=>sthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case\"after\":e=i.find_last_index(this._x_sorted,e=>t>=e);break;case\"before\":e=i.find_index(this._x_sorted,e=>t<=e);break;case\"center\":{const r=this._x_sorted.map(e=>Math.abs(e-t)),s=i.min(r);e=i.find_index(r,t=>s===t);break}default:throw new Error(\"unknown mode: \"+this.mode)}return-1!=e?this._y_sorted[e]:NaN}}r.StepInterpolator=n,n.__name__=\"StepInterpolator\",n.init_StepInterpolator()},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=e(1),a=e(147),i=e(24),s=e(9),o=e(12),c=r.__importStar(e(18));class _ extends a.Scale{constructor(e){super(e)}static init_LinearInterpolationScale(){this.internal({binning:[c.Array]})}compute(e){return e}v_compute(e){const t=o.norm(e,this.source_range.start,this.source_range.end),n=s.linspace(0,1,this.binning.length),r=o.interpolate(t,n,this.binning),a=o.norm(r,this.source_range.start,this.source_range.end),c=this.target_range.end-this.target_range.start,_=o.map(a,e=>this.target_range.start+e*c);return new i.NumberArray(_)}invert(e){return e}v_invert(e){return new i.NumberArray(e)}}n.LinearInterpolationScale=_,_.__name__=\"LinearInterpolationScale\",_.init_LinearInterpolationScale()},\n", + " function _(t,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const a=t(146),r=t(24);class s extends a.ContinuousScale{constructor(t){super(t)}compute(t){const[e,o,a,r]=this._compute_state();let s;if(0==a)s=0;else{const n=(Math.log(t)-r)/a;s=isFinite(n)?n*e+o:NaN}return s}v_compute(t){const[e,o,a,s]=this._compute_state(),n=new r.NumberArray(t.length);if(0==a)for(let e=0;ethis.render()):this.connect(this.model.change,()=>this.plot_view.request_render())}render(){this.model.visible||\"css\"!=this.model.render_mode||a.undisplay(this.el),super.render()}_calculate_text_dimensions(e,t){const{width:s}=e.measureText(t),{height:i}=o.measure_font(this.visuals.text.font_value());return[s,i]}_calculate_bounding_box_dimensions(e,t){const[s,i]=this._calculate_text_dimensions(e,t);let l,a;switch(e.textAlign){case\"left\":l=0;break;case\"center\":l=-s/2;break;case\"right\":l=-s;break;default:r.unreachable()}switch(e.textBaseline){case\"top\":a=0;break;case\"middle\":a=-.5*i;break;case\"bottom\":a=-1*i;break;case\"alphabetic\":a=-.8*i;break;case\"hanging\":a=-.17*i;break;case\"ideographic\":a=-.83*i;break;default:r.unreachable()}return[l,a,s,i]}_canvas_text(e,t,s,i,l){this.visuals.text.set_value(e);const a=this._calculate_bounding_box_dimensions(e,t);e.save(),e.beginPath(),e.translate(s,i),l&&e.rotate(l),e.rect(a[0],a[1],a[2],a[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),e.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(e),e.fillText(t,0,0)),e.restore()}_css_text(e,t,s,i,l){const{el:n}=this;r.assert(null!=n),a.undisplay(n),this.visuals.text.set_value(e);const o=this._calculate_bounding_box_dimensions(e,t),_=this.visuals.border_line.line_dash.value().length<2?\"solid\":\"dashed\";this.visuals.border_line.set_value(e),this.visuals.background_fill.set_value(e),n.style.position=\"absolute\",n.style.left=s+o[0]+\"px\",n.style.top=i+o[1]+\"px\",n.style.color=\"\"+this.visuals.text.text_color.value(),n.style.opacity=\"\"+this.visuals.text.text_alpha.value(),n.style.font=\"\"+this.visuals.text.font_value(),n.style.lineHeight=\"normal\",l&&(n.style.transform=`rotate(${l}rad)`),this.visuals.background_fill.doit&&(n.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(n.style.borderStyle=\"\"+_,n.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",n.style.borderColor=\"\"+this.visuals.border_line.color_value()),n.textContent=t,a.display(n)}}s.TextAnnotationView=_,_.__name__=\"TextAnnotationView\";class u extends l.Annotation{constructor(e){super(e)}static init_TextAnnotation(){this.define({render_mode:[n.RenderMode,\"canvas\"]})}}s.TextAnnotation=u,u.__name__=\"TextAnnotation\",u.init_TextAnnotation()},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),o=t(161),l=t(85),a=i.__importStar(t(28)),n=t(72),r=i.__importStar(t(18));class _ extends o.TextAnnotationView{initialize(){if(super.initialize(),this.set_data(this.model.source),\"css\"==this.model.render_mode)for(let t=0,e=this._text.length;t{this.set_data(this.model.source),this.render()}),this.connect(this.model.source.streaming,()=>{this.set_data(this.model.source),this.render()}),this.connect(this.model.source.patching,()=>{this.set_data(this.model.source),this.render()}),this.connect(this.model.source.change,()=>{this.set_data(this.model.source),this.render()})):(this.connect(this.model.change,()=>{this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.streaming,()=>{this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.patching,()=>{this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.change,()=>{this.set_data(this.model.source),this.plot_view.request_render()}))}set_data(t){super.set_data(t),this.visuals.warm_cache(t)}_map_data(){const t=this.coordinates.x_scale,e=this.coordinates.y_scale,s=null!=this.panel?this.panel:this.plot_view.frame;return[\"data\"==this.model.x_units?t.v_compute(this._x):s.xview.v_compute(this._x),\"data\"==this.model.y_units?e.v_compute(this._y):s.yview.v_compute(this._y)]}_render(){const t=\"canvas\"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),{ctx:e}=this.layer,[s,i]=this._map_data();for(let o=0,l=this._text.length;onew l.ColumnDataSource]}),this.override({background_fill_color:null,border_line_color:null})}}s.LabelSet=h,h.__name__=\"LabelSet\",h.init_LabelSet()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),l=t(36),n=s.__importStar(t(28)),h=s.__importStar(t(18)),a=t(15),_=t(159),o=t(79),r=t(9),d=t(8),c=t(11);class g extends l.AnnotationView{cursor(t,e){return\"none\"==this.model.click_policy?null:\"pointer\"}get legend_padding(){return null!=this.visuals.border_line.line_color.value()?this.model.padding:0}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_render()),this.connect(this.model.item_change,()=>this.plot_view.request_render())}compute_legend_bbox(){const t=this.model.get_legend_names(),{glyph_height:e,glyph_width:i}=this.model,{label_height:s,label_width:l}=this.model;this.max_label_height=r.max([_.measure_font(this.visuals.label_text.font_value()).height,s,e]);const{ctx:n}=this.layer;n.save(),this.visuals.label_text.set_value(n),this.text_widths=new Map;for(const e of t)this.text_widths.set(e,r.max([n.measureText(e).width,l]));this.visuals.title_text.set_value(n),this.title_height=this.model.title?_.measure_font(this.visuals.title_text.font_value()).height+this.model.title_standoff:0,this.title_width=this.model.title?n.measureText(this.model.title).width:0,n.restore();const h=Math.max(r.max([...this.text_widths.values()]),0),a=this.model.margin,{legend_padding:g}=this,m=this.model.spacing,{label_standoff:b}=this.model;let u,f;if(\"vertical\"==this.model.orientation)u=t.length*this.max_label_height+Math.max(t.length-1,0)*m+2*g+this.title_height,f=r.max([h+i+b+2*g,this.title_width+2*g]);else{let e=2*g+Math.max(t.length-1,0)*m;for(const[,t]of this.text_widths)e+=r.max([t,l])+i+b;f=r.max([this.title_width+2*g,e]),u=this.max_label_height+this.title_height+2*g}const x=null!=this.panel?this.panel:this.plot_view.frame,[p,w]=x.bbox.ranges,{location:v}=this.model;let y,k;if(d.isString(v))switch(v){case\"top_left\":y=p.start+a,k=w.start+a;break;case\"top_center\":y=(p.end+p.start)/2-f/2,k=w.start+a;break;case\"top_right\":y=p.end-a-f,k=w.start+a;break;case\"bottom_right\":y=p.end-a-f,k=w.end-a-u;break;case\"bottom_center\":y=(p.end+p.start)/2-f/2,k=w.end-a-u;break;case\"bottom_left\":y=p.start+a,k=w.end-a-u;break;case\"center_left\":y=p.start+a,k=(w.end+w.start)/2-u/2;break;case\"center\":y=(p.end+p.start)/2-f/2,k=(w.end+w.start)/2-u/2;break;case\"center_right\":y=p.end-a-f,k=(w.end+w.start)/2-u/2}else if(d.isArray(v)&&2==v.length){const[t,e]=v;y=x.xview.compute(t),k=x.yview.compute(e)-u}else c.unreachable();return new o.BBox({left:y,top:k,width:f,height:u})}interactive_bbox(){return this.compute_legend_bbox()}interactive_hit(t,e){return this.interactive_bbox().contains(t,e)}on_hit(t,e){let i;const{glyph_width:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let a=i=l;const _=this.compute_legend_bbox(),r=\"vertical\"==this.model.orientation;for(const d of this.model.items){const c=d.get_labels_list_from_label_prop();for(const g of c){const c=_.x+a,m=_.y+i+this.title_height;let b,u;[b,u]=r?[_.width-2*l,this.max_label_height]:[this.text_widths.get(g)+s+h,this.max_label_height];if(new o.BBox({left:c,top:m,width:b,height:u}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(const t of d.renderers)t.visible=!t.visible;break;case\"mute\":for(const t of d.renderers)t.muted=!t.muted}return!0}r?i+=this.max_label_height+n:a+=this.text_widths.get(g)+s+h+n}}return!1}_render(){if(0==this.model.items.length)return;for(const t of this.model.items)t.legend=this.model;const{ctx:t}=this.layer,e=this.compute_legend_bbox();t.save(),this._draw_legend_box(t,e),this._draw_legend_items(t,e),this.model.title&&this._draw_title(t,e),t.restore()}_draw_legend_box(t,e){t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.set_value(t),t.fill(),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke())}_draw_legend_items(t,e){const{glyph_width:i,glyph_height:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let a=l,_=l;const o=\"vertical\"==this.model.orientation;for(const d of this.model.items){const c=d.get_labels_list_from_label_prop(),g=d.get_field_from_label_prop();if(0==c.length)continue;const m=(()=>{switch(this.model.click_policy){case\"none\":return!0;case\"hide\":return r.every(d.renderers,t=>t.visible);case\"mute\":return r.every(d.renderers,t=>!t.muted)}})();for(const r of c){const c=e.x+a,b=e.y+_+this.title_height,u=c+i,f=b+s;o?_+=this.max_label_height+n:a+=this.text_widths.get(r)+i+h+n,this.visuals.label_text.set_value(t),t.fillText(r,u+h,b+this.max_label_height/2);for(const e of d.renderers){this.plot_view.renderer_views.get(e).draw_legend(t,c,u,b,f,g,r,d.index)}if(!m){let s,n;[s,n]=o?[e.width-2*l,this.max_label_height]:[this.text_widths.get(r)+i+h,this.max_label_height],t.beginPath(),t.rect(c,b,s,n),this.visuals.inactive_fill.set_value(t),t.fill()}}}}_draw_title(t,e){this.visuals.title_text.doit&&(t.save(),t.translate(e.x0,e.y0+this.title_height),this.visuals.title_text.set_value(t),t.fillText(this.model.title,this.legend_padding,this.legend_padding-this.model.title_standoff),t.restore())}_get_size(){const{width:t,height:e}=this.compute_legend_bbox();return{width:t+2*this.model.margin,height:e+2*this.model.margin}}}i.LegendView=g,g.__name__=\"LegendView\";class m extends l.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new a.Signal0(this,\"item_change\")}static init_Legend(){this.prototype.default_view=g,this.mixins([[\"label_\",n.Text],[\"title_\",n.Text],[\"inactive_\",n.Fill],[\"border_\",n.Line],[\"background_\",n.Fill]]),this.define({orientation:[h.Orientation,\"vertical\"],location:[h.Any,\"top_right\"],title:[h.String],title_standoff:[h.Number,5],label_standoff:[h.Number,5],glyph_height:[h.Number,20],glyph_width:[h.Number,20],label_height:[h.Number,20],label_width:[h.Number,20],margin:[h.Number,10],padding:[h.Number,10],spacing:[h.Number,3],items:[h.Array,[]],click_policy:[h.Any,\"none\"]}),this.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"13px\",label_text_baseline:\"middle\",title_text_font_size:\"13px\",title_text_font_style:\"italic\"})}get_legend_names(){const t=[];for(const e of this.items){const i=e.get_labels_list_from_label_prop();t.push(...i)}return t}}i.Legend=m,m.__name__=\"Legend\",m.init_Legend()},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(1),l=e(81),i=e(86),s=e(165),o=t.__importStar(e(18)),_=e(19),a=e(9);class u extends l.Model{constructor(e){super(e)}static init_LegendItem(){this.define({label:[o.StringSpec,null],renderers:[o.Array,[]],index:[o.Number,null]})}_check_data_sources_on_renderers(){if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;const e=this.renderers[0].data_source;if(null!=e)for(const r of this.renderers)if(r.data_source!=e)return!1}return!0}_check_field_label_on_data_source(){const e=this.get_field_from_label_prop();if(null!=e){if(this.renderers.length<1)return!1;const r=this.renderers[0].data_source;if(null!=r&&!a.includes(r.columns(),e))return!1}return!0}initialize(){super.initialize(),this.legend=null,this.connect(this.change,()=>{var e;return null===(e=this.legend)||void 0===e?void 0:e.item_change.emit()});this._check_data_sources_on_renderers()||_.logger.error(\"Non matching data sources on legend item renderers\");this._check_field_label_on_data_source()||_.logger.error(\"Bad column name on label: \"+this.label)}get_field_from_label_prop(){const{label:e}=this;return s.isField(e)?e.field:null}get_labels_list_from_label_prop(){if(s.isValue(this.label)){const{value:e}=this.label;return null!=e?[e]:[]}const e=this.get_field_from_label_prop();if(null!=e){let r;if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if(r=this.renderers[0].data_source,r instanceof i.ColumnarDataSource){const n=r.get_column(e);return null!=n?a.uniq(Array.from(n)):[\"Invalid field\"]}}return[]}}n.LegendItem=u,u.__name__=\"LegendItem\",u.init_LegendItem()},\n", + " function _(e,i,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(8);n.isValue=function(e){return t.isPlainObject(e)&&\"value\"in e},n.isField=function(e){return t.isPlainObject(e)&&\"field\"in e}},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),s=t(36),o=n.__importStar(t(28)),l=t(15),a=n.__importStar(t(18));class r extends s.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_render()),this.connect(this.model.data_update,()=>this.plot_view.request_render())}_render(){const{xs:t,ys:e}=this.model;if(t.length!=e.length)return;if(t.length<3||e.length<3)return;const{frame:i}=this.plot_view,{ctx:n}=this.layer;for(let s=0,o=t.length;sthis.plot_view.request_render())}_render(){const e=this.model.gradient,t=this.model.y_intercept;if(null==e||null==t)return;const{frame:i}=this.plot_view,n=this.coordinates.x_scale,o=this.coordinates.y_scale,s=i.bbox.top,l=s+i.bbox.height,r=(o.invert(s)-t)/e,_=(o.invert(l)-t)/e,a=n.compute(r),c=n.compute(_),{ctx:p}=this.layer;p.save(),p.beginPath(),this.visuals.line.set_value(p),p.moveTo(a,s),p.lineTo(c,l),p.stroke(),p.restore()}}i.SlopeView=r,r.__name__=\"SlopeView\";class _ extends o.Annotation{constructor(e){super(e)}static init_Slope(){this.prototype.default_view=r,this.mixins(s.Line),this.define({gradient:[l.Number,null],y_intercept:[l.Number,null]}),this.override({line_color:\"black\"})}}i.Slope=_,_.__name__=\"Slope\",_.init_Slope()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),o=e(36),s=n.__importStar(e(28)),a=n.__importStar(e(18));class l extends o.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_paint(this))}_render(){const{location:e}=this.model;if(null==e)return;const{frame:t}=this.plot_view,i=this.coordinates.x_scale,n=this.coordinates.y_scale,o=(t,i)=>\"data\"==this.model.location_units?t.compute(e):this.model.for_hover?e:i.compute(e);let s,a,l,r;\"width\"==this.model.dimension?(l=o(n,t.yview),a=t.bbox.left,r=t.bbox.width,s=this.model.properties.line_width.value()):(l=t.bbox.top,a=o(i,t.xview),r=this.model.properties.line_width.value(),s=t.bbox.height);const{ctx:_}=this.layer;_.save(),_.beginPath(),this.visuals.line.set_value(_),_.moveTo(a,l),\"width\"==this.model.dimension?_.lineTo(a+r,l):_.lineTo(a,l+s),_.stroke(),_.restore()}}i.SpanView=l,l.__name__=\"SpanView\";class r extends o.Annotation{constructor(e){super(e)}static init_Span(){this.prototype.default_view=l,this.mixins(s.Line),this.define({render_mode:[a.RenderMode,\"canvas\"],location:[a.Number,null],location_units:[a.SpatialUnits,\"data\"],dimension:[a.Dimension,\"width\"]}),this.override({line_color:\"black\"}),this.internal({for_hover:[a.Boolean,!1]})}}i.Span=r,r.__name__=\"Span\",r.init_Span()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const l=t(1),s=t(161),a=t(74),n=l.__importStar(t(28)),o=l.__importStar(t(18));class r extends s.TextAnnotationView{initialize(){super.initialize(),this.visuals.text=new a.Text(this.model)}_get_location(){const t=this.panel,e=this.model.offset;let i,l;const{bbox:s}=t;switch(t.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":l=s.top+5;break;case\"middle\":l=s.vcenter;break;case\"bottom\":l=s.bottom-5}switch(this.model.align){case\"left\":i=s.left+e;break;case\"center\":i=s.hcenter;break;case\"right\":i=s.right-e}break;case\"left\":switch(this.model.vertical_align){case\"top\":i=s.left-5;break;case\"middle\":i=s.hcenter;break;case\"bottom\":i=s.right+5}switch(this.model.align){case\"left\":l=s.bottom-e;break;case\"center\":l=s.vcenter;break;case\"right\":l=s.top+e}break;case\"right\":switch(this.model.vertical_align){case\"top\":i=s.right-5;break;case\"middle\":i=s.hcenter;break;case\"bottom\":i=s.left+5}switch(this.model.align){case\"left\":l=s.top+e;break;case\"center\":l=s.vcenter;break;case\"right\":l=s.bottom-e}}return[i,l]}_render(){const{text:t}=this.model;if(null==t||0==t.length)return;this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align;const[e,i]=this._get_location(),l=this.panel.get_label_angle_heuristic(\"parallel\");(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.layer.ctx,t,e,i,l)}_get_size(){const{text:t}=this.model;if(null==t||0==t.length)return{width:0,height:0};{this.visuals.text.set_value(this.layer.ctx);const{width:e,ascent:i}=this.layer.ctx.measureText(t);return{width:e,height:i*this.visuals.text.text_line_height.value()+10}}}}i.TitleView=r,r.__name__=\"TitleView\";class c extends s.TextAnnotation{constructor(t){super(t)}static init_Title(){this.prototype.default_view=r,this.mixins([[\"border_\",n.Line],[\"background_\",n.Fill]]),this.define({text:[o.String],text_font:[o.Font,\"helvetica\"],text_font_size:[o.StringSpec,\"13px\"],text_font_style:[o.FontStyle,\"bold\"],text_color:[o.ColorSpec,\"#444444\"],text_alpha:[o.NumberSpec,1],text_line_height:[o.Number,1],vertical_align:[o.VerticalAlign,\"bottom\"],align:[o.TextAlign,\"left\"],offset:[o.Number,0]}),this.override({background_fill_color:null,border_line_color:null}),this.internal({text_align:[o.TextAlign,\"left\"],text_baseline:[o.TextBaseline,\"bottom\"]})}}i.Title=c,c.__name__=\"Title\",c.init_Title()},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(1),l=e(36),s=e(115),a=e(72),n=e(79),r=o.__importStar(e(18));class _ extends l.AnnotationView{constructor(){super(...arguments),this.rotate=!0,this._invalidate_toolbar=!0,this._previous_bbox=new n.BBox}initialize(){super.initialize(),this.el=a.div(),this.plot_view.canvas_view.add_event(this.el)}async lazy_initialize(){this._toolbar_view=await s.build_view(this.model.toolbar,{parent:this}),this.plot_view.visibility_callbacks.push(e=>this._toolbar_view.set_visibility(e))}remove(){this._toolbar_view.remove(),a.remove(this.el),super.remove()}render(){this.model.visible||a.undisplay(this.el),super.render()}_render(){const{bbox:e}=this.panel;this._previous_bbox.equals(e)||(a.position(this.el,e),this._previous_bbox=e),this._invalidate_toolbar&&(this.el.style.position=\"absolute\",this.el.style.overflow=\"hidden\",this._toolbar_view.render(),a.empty(this.el),this.el.appendChild(this._toolbar_view.el),this._invalidate_toolbar=!1),a.display(this.el)}_get_size(){const{tools:e,logo:i}=this.model.toolbar;return{width:30*e.length+(null!=i?25:0),height:30}}}t.ToolbarPanelView=_,_.__name__=\"ToolbarPanelView\";class h extends l.Annotation{constructor(e){super(e)}static init_ToolbarPanel(){this.prototype.default_view=_,this.define({toolbar:[r.Instance]})}}t.ToolbarPanel=h,h.__name__=\"ToolbarPanel\",h.init_ToolbarPanel()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),l=t(36),o=t(72),n=s.__importStar(t(18)),a=t(172),h=t(173),r=s.__importDefault(t(174));class c extends l.AnnotationView{initialize(){super.initialize(),this.el=o.div({class:a.bk_tooltip}),o.undisplay(this.el),this.plot_view.canvas_view.add_overlay(this.el)}remove(){o.remove(this.el),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.content.change,()=>this.render()),this.connect(this.model.properties.position.change,()=>this._reposition())}styles(){return[...super.styles(),r.default]}render(){this.model.visible||o.undisplay(this.el),super.render()}_render(){const{content:t}=this.model;null!=t?(o.empty(this.el),o.classes(this.el).toggle(a.bk_tooltip_custom,this.model.custom),this.el.appendChild(t),this.model.show_arrow&&this.el.classList.add(a.bk_tooltip_arrow)):o.undisplay(this.el)}_reposition(){const{position:t}=this.model;if(null==t)return void o.undisplay(this.el);const[e,i]=t,s=(()=>{const t=this.parent.layout.bbox.relativize(),{attachment:s}=this.model;switch(s){case\"horizontal\":return eo.div()],custom:[n.Any]})}clear(){this.position=null}}i.Tooltip=d,d.__name__=\"Tooltip\",d.init_Tooltip()},\n", + " function _(o,t,l){Object.defineProperty(l,\"__esModule\",{value:!0}),l.bk_tooltip=\"bk-tooltip\",l.bk_tooltip_arrow=\"bk-tooltip-arrow\",l.bk_tooltip_custom=\"bk-tooltip-custom\",l.bk_tooltip_row_label=\"bk-tooltip-row-label\",l.bk_tooltip_row_value=\"bk-tooltip-row-value\",l.bk_tooltip_color_block=\"bk-tooltip-color-block\"},\n", + " function _(e,b,k){Object.defineProperty(k,\"__esModule\",{value:!0}),k.bk_active=\"bk-active\",k.bk_inline=\"bk-inline\",k.bk_left=\"bk-left\",k.bk_right=\"bk-right\",k.bk_above=\"bk-above\",k.bk_below=\"bk-below\",k.bk_up=\"bk-up\",k.bk_down=\"bk-down\",k.bk_side=function(e){switch(e){case\"above\":return k.bk_above;case\"below\":return k.bk_below;case\"left\":return k.bk_left;case\"right\":return k.bk_right}}},\n", + " function _(o,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root {\\n /* Same border color used everywhere */\\n /* Gray of icons */\\n}\\n.bk-root .bk-tooltip {\\n font-weight: 300;\\n font-size: 12px;\\n position: absolute;\\n padding: 5px;\\n border: 1px solid #e5e5e5;\\n color: #2f2f2f;\\n background-color: white;\\n pointer-events: none;\\n opacity: 0.95;\\n z-index: 100;\\n}\\n.bk-root .bk-tooltip > div:not(:first-child) {\\n /* gives space when multiple elements are being hovered over */\\n margin-top: 5px;\\n border-top: #e5e5e5 1px dashed;\\n}\\n.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before {\\n position: absolute;\\n margin: -7px 0 0 0;\\n top: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 7px 0 7px 0;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n left: -10px;\\n border-right-width: 10px;\\n border-right-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-left::before {\\n left: -10px;\\n border-right-width: 10px;\\n border-right-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after {\\n position: absolute;\\n margin: -7px 0 0 0;\\n top: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 7px 0 7px 0;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n right: -10px;\\n border-left-width: 10px;\\n border-left-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-right::after {\\n right: -10px;\\n border-left-width: 10px;\\n border-left-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-above::before {\\n position: absolute;\\n margin: 0 0 0 -7px;\\n left: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 0 7px 0 7px;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n top: -10px;\\n border-bottom-width: 10px;\\n border-bottom-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-below::after {\\n position: absolute;\\n margin: 0 0 0 -7px;\\n left: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 0 7px 0 7px;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n bottom: -10px;\\n border-top-width: 10px;\\n border-top-color: #909599;\\n}\\n.bk-root .bk-tooltip-row-label {\\n text-align: right;\\n color: #26aae1;\\n /* blue from toolbar highlighting */\\n}\\n.bk-root .bk-tooltip-row-value {\\n color: default;\\n /* seems to be necessary for notebook */\\n}\\n.bk-root .bk-tooltip-color-block {\\n width: 12px;\\n height: 12px;\\n margin-left: 5px;\\n margin-right: 5px;\\n outline: #dddddd solid 1px;\\n display: inline-block;\\n}\\n'},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(1),r=e(123),o=e(84),h=e(28),n=i.__importStar(e(18));class l extends r.UpperLowerView{connect_signals(){super.connect_signals(),this.connect(this.model.source.streaming,()=>this.set_data(this.model.source)),this.connect(this.model.source.patching,()=>this.set_data(this.model.source)),this.connect(this.model.source.change,()=>this.set_data(this.model.source))}_render(){this._map_data();const{ctx:e}=this.layer;if(this.visuals.line.doit)for(let s=0,t=this._lower_sx.length;snew o.TeeHead({level:\"underlay\",size:10})],upper_head:[n.Instance,()=>new o.TeeHead({level:\"underlay\",size:10})]}),this.override({level:\"underlay\"})}}t.Whisker=_,_.__name__=\"Whisker\",_.init_Whisker()},\n", + " function _(i,a,e){Object.defineProperty(e,\"__esModule\",{value:!0});var r=i(177);e.Axis=r.Axis;var s=i(179);e.CategoricalAxis=s.CategoricalAxis;var x=i(182);e.ContinuousAxis=x.ContinuousAxis;var A=i(183);e.DatetimeAxis=A.DatetimeAxis;var o=i(184);e.LinearAxis=o.LinearAxis;var t=i(197);e.LogAxis=t.LogAxis;var n=i(200);e.MercatorAxis=n.MercatorAxis},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),a=t(178),l=s.__importStar(t(28)),n=s.__importStar(t(18)),o=t(9),r=t(8),_=t(98),{abs:h,min:c,max:d}=Math;class m extends a.GuideRendererView{constructor(){super(...arguments),this.rotate=!0}get panel(){return this.layout}get is_renderable(){const[t,e]=this.ranges;return t.is_valid&&e.is_valid}_render(){var t;if(!this.is_renderable)return;const e={tick:this._tick_extent(),tick_label:this._tick_label_extents(),axis_label:this._axis_label_extent()},{tick_coords:i}=this,s=this.layer.ctx;s.save(),this._draw_rule(s,e),this._draw_major_ticks(s,e,i),this._draw_minor_ticks(s,e,i),this._draw_major_labels(s,e,i),this._draw_axis_label(s,e,i),null===(t=this._paint)||void 0===t||t.call(this,s,e,i),s.restore()}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_layout())}get_size(){if(this.model.visible&&null==this.model.fixed_location&&this.is_renderable){const t=this._get_size();return{width:0,height:Math.round(t)}}return{width:0,height:0}}_get_size(){return this._tick_extent()+this._tick_label_extent()+this._axis_label_extent()}get needs_clip(){return null!=this.model.fixed_location}_draw_rule(t,e){if(!this.visuals.axis_line.doit)return;const[i,s]=this.rule_coords,[a,l]=this.coordinates.map_to_screen(i,s),[n,o]=this.normals,[r,_]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath(),t.moveTo(Math.round(a[0]+n*r),Math.round(l[0]+o*_));for(let e=1;ec&&(c=o)}return c>0&&(c+=s),c}get normals(){return this.panel.normals}get dimension(){return this.panel.dimension}compute_labels(t){const e=this.model.formatter.doFormat(t,this);for(let i=0;ih(n-o)?(t=d(c(a,l),n),s=c(d(a,l),o)):(t=c(a,l),s=d(a,l)),[t,s]}}get rule_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,l=[new Array(2),new Array(2)];return l[t][0]=Math.max(s,i.min),l[t][1]=Math.min(a,i.max),l[t][0]>l[t][1]&&(l[t][0]=l[t][1]=NaN),l[e][0]=this.loc,l[e][1]=this.loc,l}get tick_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,l=this.model.ticker.get_ticks(s,a,i,this.loc,{}),n=l.major,o=l.minor,r=[[],[]],_=[[],[]],[h,c]=[i.min,i.max];for(let i=0;ic||(r[t].push(n[i]),r[e].push(this.loc));for(let i=0;ic||(_[t].push(o[i]),_[e].push(this.loc));return{major:r,minor:_}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if(r.isNumber(t))return t;const[,e]=this.ranges;if(e instanceof _.FactorRange)return e.synthetic(t);throw new Error(\"unexpected\")}const[,e]=this.ranges;switch(this.panel.side){case\"left\":case\"below\":return e.start;case\"right\":case\"above\":return e.end}}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box})}}i.AxisView=m,m.__name__=\"AxisView\";class b extends a.GuideRenderer{constructor(t){super(t)}static init_Axis(){this.prototype.default_view=m,this.mixins([[\"axis_\",l.Line],[\"major_tick_\",l.Line],[\"minor_tick_\",l.Line],[\"major_label_\",l.Text],[\"axis_label_\",l.Text]]),this.define({bounds:[n.Any,\"auto\"],ticker:[n.Instance],formatter:[n.Instance],axis_label:[n.String,\"\"],axis_label_standoff:[n.Int,5],major_label_standoff:[n.Int,5],major_label_orientation:[n.Any,\"horizontal\"],major_label_overrides:[n.Any,{}],major_tick_in:[n.Number,2],major_tick_out:[n.Number,6],minor_tick_in:[n.Number,0],minor_tick_out:[n.Number,4],fixed_location:[n.Any,null]}),this.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"11px\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"13px\",axis_label_text_font_style:\"italic\"})}}i.Axis=b,b.__name__=\"Axis\",b.init_Axis()},\n", + " function _(e,r,d){Object.defineProperty(d,\"__esModule\",{value:!0});const i=e(70);class n extends i.RendererView{}d.GuideRendererView=n,n.__name__=\"GuideRendererView\";class t extends i.Renderer{constructor(e){super(e)}static init_GuideRenderer(){this.override({level:\"guide\"})}}d.GuideRenderer=t,t.__name__=\"GuideRenderer\",t.init_GuideRenderer()},\n", + " function _(t,s,o){Object.defineProperty(o,\"__esModule\",{value:!0});const e=t(1),i=t(177),r=t(180),a=t(181),l=e.__importStar(t(28)),_=e.__importStar(t(18));class n extends i.AxisView{_paint(t,s,o){this._draw_group_separators(t,s,o)}_draw_group_separators(t,s,o){const[e]=this.ranges,[i,r]=this.computed_bounds;if(!e.tops||e.tops.length<2||!this.visuals.separator_line.doit)return;const a=this.dimension,l=(a+1)%2,_=[[],[]];let n=0;for(let t=0;ti&&ht[1]),s=this.model.formatter.doFormat(t,this);a.push([s,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([i.tops,r.tops,this.model.group_label_orientation,this.visuals.group_text])}else if(3==t.levels){const t=i.major.map(t=>t[2]),s=this.model.formatter.doFormat(t,this),o=i.mids.map(t=>t[1]);a.push([s,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([o,r.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),a.push([i.tops,r.tops,this.model.group_label_orientation,this.visuals.group_text])}return a}get tick_coords(){const t=this.dimension,s=(t+1)%2,[o]=this.ranges,[e,i]=this.computed_bounds,r=this.model.ticker.get_ticks(e,i,o,this.loc,{}),a={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return a.major[t]=r.major,a.major[s]=r.major.map(t=>this.loc),3==o.levels&&(a.mids[t]=r.mids,a.mids[s]=r.mids.map(t=>this.loc)),o.levels>1&&(a.tops[t]=r.tops,a.tops[s]=r.tops.map(t=>this.loc)),a}}o.CategoricalAxisView=n,n.__name__=\"CategoricalAxisView\";class h extends i.Axis{constructor(t){super(t)}static init_CategoricalAxis(){this.prototype.default_view=n,this.mixins([[\"separator_\",l.Line],[\"group_\",l.Text],[\"subgroup_\",l.Text]]),this.define({group_label_orientation:[_.Any,\"parallel\"],subgroup_label_orientation:[_.Any,\"parallel\"]}),this.override({ticker:()=>new r.CategoricalTicker,formatter:()=>new a.CategoricalTickFormatter,separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"11px\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"11px\"})}}o.CategoricalAxis=h,h.__name__=\"CategoricalAxis\",h.init_CategoricalAxis()},\n", + " function _(t,c,e){Object.defineProperty(e,\"__esModule\",{value:!0});const o=t(129);class s extends o.Ticker{constructor(t){super(t)}get_ticks(t,c,e,o,s){return{major:this._collect(e.factors,e,t,c),minor:[],tops:this._collect(e.tops||[],e,t,c),mids:this._collect(e.mids||[],e,t,c)}}_collect(t,c,e,o){const s=[];for(const r of t){const t=c.synthetic(r);t>e&&tnew r.DatetimeTicker,formatter:()=>new a.DatetimeTickFormatter})}}i.DatetimeAxis=_,_.__name__=\"DatetimeAxis\",_.init_DatetimeAxis()},\n", + " function _(e,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=e(177),n=e(182),r=e(130),a=e(126);class _ extends t.AxisView{}s.LinearAxisView=_,_.__name__=\"LinearAxisView\";class c extends n.ContinuousAxis{constructor(e){super(e)}static init_LinearAxis(){this.prototype.default_view=_,this.override({ticker:()=>new a.BasicTicker,formatter:()=>new r.BasicTickFormatter})}}s.LinearAxis=c,c.__name__=\"LinearAxis\",c.init_LinearAxis()},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=t(1),i=r.__importDefault(t(186)),n=t(131),o=t(19),a=r.__importStar(t(18)),c=t(187),m=t(9),u=t(8);function h(t){return i.default(t,\"%Y %m %d %H %M %S\").split(/\\s+/).map(t=>parseInt(t,10))}function d(t,s){if(u.isFunction(s))return s(t);{const e=c.sprintf(\"$1%06d\",function(t){return Math.round(t/1e3%1*1e6)}(t));return-1==(s=s.replace(/((^|[^%])(%%)*)%f/,e)).indexOf(\"%\")?s:i.default(t,s)}}const l=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"];class _ extends n.TickFormatter{constructor(t){super(t),this.strip_leading_zeros=!0}static init_DatetimeTickFormatter(){this.define({microseconds:[a.Array,[\"%fus\"]],milliseconds:[a.Array,[\"%3Nms\",\"%S.%3Ns\"]],seconds:[a.Array,[\"%Ss\"]],minsec:[a.Array,[\":%M:%S\"]],minutes:[a.Array,[\":%M\",\"%Mm\"]],hourmin:[a.Array,[\"%H:%M\"]],hours:[a.Array,[\"%Hh\",\"%H:%M\"]],days:[a.Array,[\"%m/%d\",\"%a%d\"]],months:[a.Array,[\"%m/%Y\",\"%b %Y\"]],years:[a.Array,[\"%Y\"]]})}initialize(){super.initialize(),this._update_width_formats()}_update_width_formats(){const t=+i.default(new Date),s=function(s){const e=s.map(s=>d(t,s).length),r=m.sort_by(m.zip(e,s),([t])=>t);return m.unzip(r)};this._width_formats={microseconds:s(this.microseconds),milliseconds:s(this.milliseconds),seconds:s(this.seconds),minsec:s(this.minsec),minutes:s(this.minutes),hourmin:s(this.hourmin),hours:s(this.hours),days:s(this.days),months:s(this.months),years:s(this.years)}}_get_resolution_str(t,s){const e=1.1*t;switch(!1){case!(e<.001):return\"microseconds\";case!(e<1):return\"milliseconds\";case!(e<60):return s>=60?\"minsec\":\"seconds\";case!(e<3600):return s>=3600?\"hourmin\":\"minutes\";case!(e<86400):return\"hours\";case!(e<2678400):return\"days\";case!(e<31536e3):return\"months\";default:return\"years\"}}doFormat(t,s){if(0==t.length)return[];const e=Math.abs(t[t.length-1]-t[0])/1e3,r=e/(t.length-1),i=this._get_resolution_str(r,e),[,[n]]=this._width_formats[i],a=[],c=l.indexOf(i),m={};for(const t of l)m[t]=0;m.seconds=5,m.minsec=4,m.minutes=4,m.hourmin=3,m.hours=3;for(const s of t){let t,e;try{e=h(s),t=d(s,n)}catch(t){o.logger.warn(\"unable to format tick for timestamp value \"+s),o.logger.warn(\" - \"+t),a.push(\"ERR\");continue}let r=!1,u=c;for(;0==e[m[l[u]]];){let n;if(u+=1,u==l.length)break;if((\"minsec\"==i||\"hourmin\"==i)&&!r){if(\"minsec\"==i&&0==e[4]&&0!=e[5]||\"hourmin\"==i&&0==e[3]&&0!=e[4]){n=this._width_formats[l[c-1]][1][0],t=d(s,n);break}r=!0}n=this._width_formats[l[u]][1][0],t=d(s,n)}if(this.strip_leading_zeros){let s=t.replace(/^0+/g,\"\");s!=t&&isNaN(parseInt(s))&&(s=\"0\"+s),a.push(s)}else a.push(t)}return a}}e.DatetimeTickFormatter=_,_.__name__=\"DatetimeTickFormatter\",_.init_DatetimeTickFormatter()},\n", + " function _(e,t,n){!function(e){\"object\"==typeof t&&t.exports?t.exports=e():\"function\"==typeof define?define(e):this.tz=e()}((function(){function e(e,t,n){var r,o=t.day[1];do{r=new Date(Date.UTC(n,t.month,Math.abs(o++)))}while(t.day[0]<7&&r.getUTCDay()!=t.day[0]);return(r={clock:t.clock,sort:r.getTime(),rule:t,save:6e4*t.save,offset:e.offset})[r.clock]=r.sort+6e4*t.time,r.posix?r.wallclock=r[r.clock]+(e.offset+t.saved):r.posix=r[r.clock]-(e.offset+t.saved),r}function t(t,n,r){var o,a,u,i,l,s,c,f=t[t.zone],h=[],T=new Date(r).getUTCFullYear(),g=1;for(o=1,a=f.length;o=T-g;--c)for(o=0,a=s.length;o=h[o][n]&&h[o][h[o].clock]>u[h[o].clock]&&(i=h[o])}return i&&((l=/^(.*)\\/(.*)$/.exec(u.format))?i.abbrev=l[i.save?2:1]:i.abbrev=u.format.replace(/%s/,i.rule.letter)),i||u}function n(e,n){return\"UTC\"==e.zone?n:(e.entry=t(e,\"posix\",n),n+e.entry.offset+e.entry.save)}function r(e,n){return\"UTC\"==e.zone?n:(e.entry=r=t(e,\"wallclock\",n),0<(o=n-r.wallclock)&&o9)t+=s*l[c-10];else{if(a=new Date(n(e,t)),c<7)for(;s;)a.setUTCDate(a.getUTCDate()+i),a.getUTCDay()==c&&(s-=i);else 7==c?a.setUTCFullYear(a.getUTCFullYear()+s):8==c?a.setUTCMonth(a.getUTCMonth()+s):a.setUTCDate(a.getUTCDate()+s);null==(t=r(e,a.getTime()))&&(t=r(e,a.getTime()+864e5*i)-864e5*i)}return t}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(e,t,n,r){var o,a,u=this.entry.offset+this.entry.save,i=Math.abs(u/1e3),l=[],s=3600;for(o=0;o<3;o++)l.push((\"0\"+Math.floor(i/s)).slice(-2)),i%=s,s/=60;return\"^\"!=n||u?(\"^\"==n&&(r=3),3==r?(a=(a=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(a=a.replace(/:00$/,\"\"))):r?(a=l.slice(0,r+1).join(\":\"),\"^\"==n&&(a=a.replace(/:00$/,\"\"))):a=l.slice(0,2).join(\"\"),a=(a=(u<0?\"-\":\"+\")+a).replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(e){return\"%\"},n:function(e){return\"\\n\"},t:function(e){return\"\\t\"},U:function(e){return s(e,0)},W:function(e){return s(e,1)},V:function(e){return c(e)[0]},G:function(e){return c(e)[1]},g:function(e){return c(e)[1]%100},j:function(e){return Math.floor((e.getTime()-Date.UTC(e.getUTCFullYear(),0))/864e5)+1},s:function(e){return Math.floor(e.getTime()/1e3)},C:function(e){return Math.floor(e.getUTCFullYear()/100)},N:function(e){return e.getTime()%1e3*1e6},m:function(e){return e.getUTCMonth()+1},Y:function(e){return e.getUTCFullYear()},y:function(e){return e.getUTCFullYear()%100},H:function(e){return e.getUTCHours()},M:function(e){return e.getUTCMinutes()},S:function(e){return e.getUTCSeconds()},e:function(e){return e.getUTCDate()},d:function(e){return e.getUTCDate()},u:function(e){return e.getUTCDay()||7},w:function(e){return e.getUTCDay()},l:function(e){return e.getUTCHours()%12||12},I:function(e){return e.getUTCHours()%12||12},k:function(e){return e.getUTCHours()},Z:function(e){return this.entry.abbrev},a:function(e){return this[this.locale].day.abbrev[e.getUTCDay()]},A:function(e){return this[this.locale].day.full[e.getUTCDay()]},h:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},b:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},B:function(e){return this[this.locale].month.full[e.getUTCMonth()]},P:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)].toLowerCase()},p:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)]},R:function(e,t){return this.convert([t,\"%H:%M\"])},T:function(e,t){return this.convert([t,\"%H:%M:%S\"])},D:function(e,t){return this.convert([t,\"%m/%d/%y\"])},F:function(e,t){return this.convert([t,\"%Y-%m-%d\"])},x:function(e,t){return this.convert([t,this[this.locale].date])},r:function(e,t){return this.convert([t,this[this.locale].time12||\"%I:%M:%S\"])},X:function(e,t){return this.convert([t,this[this.locale].time24])},c:function(e,t){return this.convert([t,this[this.locale].dateTime])},convert:function(e){if(!e.length)return\"1.0.23\";var t,a,u,l,s,c=Object.create(this),f=[];for(t=0;t=o?Math.floor((n-o)/7)+1:0}function c(e){var t,n,r;return n=e.getUTCFullYear(),t=new Date(Date.UTC(n,0)).getUTCDay(),(r=s(e,1)+(t>1&&t<=4?1:0))?53!=r||4==t||3==t&&29==new Date(n,1,29).getDate()?[r,e.getUTCFullYear()]:[1,e.getUTCFullYear()+1]:(n=e.getUTCFullYear()-1,[r=4==(t=new Date(Date.UTC(n,0)).getUTCDay())||3==t&&29==new Date(n,1,29).getDate()?53:52,e.getUTCFullYear()-1])}return u=u.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,(function(e){a[e].pad=2})),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}}))},\n", + " function _(r,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=r(1),i=n.__importStar(r(188)),u=r(189),a=n.__importDefault(r(186)),f=r(29),o=r(8);function l(r,...e){return u.sprintf(r,...e)}function s(r,e,t){if(o.isNumber(r)){return l((()=>{switch(!1){case Math.floor(r)!=r:return\"%d\";case!(Math.abs(r)>.1&&Math.abs(r)<1e3):return\"%0.3f\";default:return\"%0.3e\"}})(),r)}return\"\"+r}function c(r,e,n){if(null==e)return s;if(null!=n&&r in n){const e=n[r];if(o.isString(e)){if(e in t.DEFAULT_FORMATTERS)return t.DEFAULT_FORMATTERS[e];throw new Error(`Unknown tooltip field formatter type '${e}'`)}return function(r,t,n){return e.format(r,t,n)}}return t.DEFAULT_FORMATTERS.numeral}function m(r,e,t,n){if(\"$\"==r[0]){return function(r,e){if(r in e)return e[r];throw new Error(`Unknown special variable '$${r}'`)}(r.substring(1),n)}return function(r,e,t){const n=e.get_column(r);if(null==n)return null;if(o.isNumber(t))return n[t];const i=n[t.index];if(o.isTypedArray(i)||o.isArray(i)){if(o.isArray(i[0])){return i[t.dim2][t.dim1]}return i[t.flat_index]}return i}(r.substring(1).replace(/[{}]/g,\"\"),e,t)}t.DEFAULT_FORMATTERS={numeral:(r,e,t)=>i.format(r,e),datetime:(r,e,t)=>a.default(r,e),printf:(r,e,t)=>l(e,r)},t.sprintf=l,t.basic_formatter=s,t.get_formatter=c,t.get_value=m,t.replace_placeholders=function(r,e,t,n,i={}){let u,a;if(o.isString(r)?(u=r,a=!1):(u=r.html,a=!0),u=u.replace(/@\\$name/g,r=>`@{${i.name}}`),u=u.replace(/((?:\\$\\w+)|(?:@\\w+)|(?:@{(?:[^{}]+)}))(?:{([^{}]+)})?/g,(r,u,o)=>{const l=m(u,e,t,i);if(null==l)return\"\"+f.escape(\"???\");if(\"safe\"==o)return a=!0,\"\"+l;const s=c(u,o,n);return\"\"+f.escape(s(l,o,i))}),a){return[...(new DOMParser).parseFromString(u,\"text/html\").body.childNodes]}return u}},\n", + " function _(e,n,t){\n", + " /*!\n", + " * numbro.js\n", + " * version : 1.6.2\n", + " * author : Företagsplatsen AB\n", + " * license : MIT\n", + " * http://www.foretagsplatsen.se\n", + " */\n", + " var r,i={},a=i,o=\"en-US\",l=null,u=\"0,0\";void 0!==n&&n.exports;function c(e){this._value=e}function s(e){var n,t=\"\";for(n=0;n-1?function(e,n){var t,r,i,a;return t=(a=e.toString()).split(\"e\")[0],i=a.split(\"e\")[1],a=t.split(\".\")[0]+(r=t.split(\".\")[1]||\"\")+s(i-r.length),n>0&&(a+=\".\"+s(n)),a}(e,n):(t(e*o)/o).toFixed(n),r&&(i=new RegExp(\"0{1,\"+r+\"}$\"),a=a.replace(i,\"\")),a}function d(e,n,t){return n.indexOf(\"$\")>-1?function(e,n,t){var r,a,l=n,u=l.indexOf(\"$\"),c=l.indexOf(\"(\"),s=l.indexOf(\"+\"),f=l.indexOf(\"-\"),d=\"\",p=\"\";-1===l.indexOf(\"$\")?\"infix\"===i[o].currency.position?(p=i[o].currency.symbol,i[o].currency.spaceSeparated&&(p=\" \"+p+\" \")):i[o].currency.spaceSeparated&&(d=\" \"):l.indexOf(\" $\")>-1?(d=\" \",l=l.replace(\" $\",\"\")):l.indexOf(\"$ \")>-1?(d=\" \",l=l.replace(\"$ \",\"\")):l=l.replace(\"$\",\"\");if(a=h(e,l,t,p),-1===n.indexOf(\"$\"))switch(i[o].currency.position){case\"postfix\":a.indexOf(\")\")>-1?((a=a.split(\"\")).splice(-1,0,d+i[o].currency.symbol),a=a.join(\"\")):a=a+d+i[o].currency.symbol;break;case\"infix\":break;case\"prefix\":a.indexOf(\"(\")>-1||a.indexOf(\"-\")>-1?(a=a.split(\"\"),r=Math.max(c,f)+1,a.splice(r,0,i[o].currency.symbol+d),a=a.join(\"\")):a=i[o].currency.symbol+d+a;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else u<=1?a.indexOf(\"(\")>-1||a.indexOf(\"+\")>-1||a.indexOf(\"-\")>-1?(a=a.split(\"\"),r=1,(u-1?((a=a.split(\"\")).splice(-1,0,d+i[o].currency.symbol),a=a.join(\"\")):a=a+d+i[o].currency.symbol;return a}(e,n,t):n.indexOf(\"%\")>-1?function(e,n,t){var r,i=\"\";e*=100,n.indexOf(\" %\")>-1?(i=\" \",n=n.replace(\" %\",\"\")):n=n.replace(\"%\",\"\");(r=h(e,n,t)).indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,i+\"%\"),r=r.join(\"\")):r=r+i+\"%\";return r}(e,n,t):n.indexOf(\":\")>-1?function(e){var n=Math.floor(e/60/60),t=Math.floor((e-60*n*60)/60),r=Math.round(e-60*n*60-60*t);return n+\":\"+(t<10?\"0\"+t:t)+\":\"+(r<10?\"0\"+r:r)}(e):h(e,n,t)}function h(e,n,t,r){var a,u,c,s,d,h,p,m,x,g,O,b,w,y,M,v,$,B=!1,E=!1,F=!1,k=\"\",U=!1,N=!1,S=!1,j=!1,D=!1,C=\"\",L=\"\",T=Math.abs(e),K=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],G=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],I=\"\",P=!1,R=!1;if(0===e&&null!==l)return l;if(!isFinite(e))return\"\"+e;if(0===n.indexOf(\"{\")){var W=n.indexOf(\"}\");if(-1===W)throw Error('Format should also contain a \"}\"');b=n.slice(1,W),n=n.slice(W+1)}else b=\"\";if(n.indexOf(\"}\")===n.length-1){var Y=n.indexOf(\"{\");if(-1===Y)throw Error('Format should also contain a \"{\"');w=n.slice(Y+1,-1),n=n.slice(0,Y+1)}else w=\"\";if(v=null===($=-1===n.indexOf(\".\")?n.match(/([0-9]+).*/):n.match(/([0-9]+)\\..*/))?-1:$[1].length,-1!==n.indexOf(\"-\")&&(P=!0),n.indexOf(\"(\")>-1?(B=!0,n=n.slice(1,-1)):n.indexOf(\"+\")>-1&&(E=!0,n=n.replace(/\\+/g,\"\")),n.indexOf(\"a\")>-1){if(g=n.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],g=parseInt(g[0],10),U=n.indexOf(\"aK\")>=0,N=n.indexOf(\"aM\")>=0,S=n.indexOf(\"aB\")>=0,j=n.indexOf(\"aT\")>=0,D=U||N||S||j,n.indexOf(\" a\")>-1?(k=\" \",n=n.replace(\" a\",\"\")):n=n.replace(\"a\",\"\"),p=0===(p=(d=Math.floor(Math.log(T)/Math.LN10)+1)%3)?3:p,g&&0!==T&&(h=Math.floor(Math.log(T)/Math.LN10)+1-g,m=3*~~((Math.min(g,d)-p)/3),T/=Math.pow(10,m),-1===n.indexOf(\".\")&&g>3))for(n+=\"[.]\",M=(M=0===h?0:3*~~(h/3)-h)<0?M+3:M,a=0;a=Math.pow(10,12)&&!D||j?(k+=i[o].abbreviations.trillion,e/=Math.pow(10,12)):T=Math.pow(10,9)&&!D||S?(k+=i[o].abbreviations.billion,e/=Math.pow(10,9)):T=Math.pow(10,6)&&!D||N?(k+=i[o].abbreviations.million,e/=Math.pow(10,6)):(T=Math.pow(10,3)&&!D||U)&&(k+=i[o].abbreviations.thousand,e/=Math.pow(10,3)))}if(n.indexOf(\"b\")>-1)for(n.indexOf(\" b\")>-1?(C=\" \",n=n.replace(\" b\",\"\")):n=n.replace(\"b\",\"\"),s=0;s<=K.length;s++)if(u=Math.pow(1024,s),c=Math.pow(1024,s+1),e>=u&&e0&&(e/=u);break}if(n.indexOf(\"d\")>-1)for(n.indexOf(\" d\")>-1?(C=\" \",n=n.replace(\" d\",\"\")):n=n.replace(\"d\",\"\"),s=0;s<=G.length;s++)if(u=Math.pow(1e3,s),c=Math.pow(1e3,s+1),e>=u&&e0&&(e/=u);break}if(n.indexOf(\"o\")>-1&&(n.indexOf(\" o\")>-1?(L=\" \",n=n.replace(\" o\",\"\")):n=n.replace(\"o\",\"\"),i[o].ordinal&&(L+=i[o].ordinal(e))),n.indexOf(\"[.]\")>-1&&(F=!0,n=n.replace(\"[.]\",\".\")),x=e.toString().split(\".\")[0],O=n.split(\".\")[1],y=n.indexOf(\",\"),O){if(x=(I=-1!==O.indexOf(\"*\")?f(e,e.toString().split(\".\")[1].length,t):O.indexOf(\"[\")>-1?f(e,(O=(O=O.replace(\"]\",\"\")).split(\"[\"))[0].length+O[1].length,t,O[1].length):f(e,O.length,t)).split(\".\")[0],I.split(\".\")[1].length)I=(r?k+r:i[o].delimiters.decimal)+I.split(\".\")[1];else I=\"\";F&&0===Number(I.slice(1))&&(I=\"\")}else x=f(e,null,t);return x.indexOf(\"-\")>-1&&(x=x.slice(1),R=!0),x.length-1&&(x=x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+i[o].delimiters.thousands)),0===n.indexOf(\".\")&&(x=\"\"),b+(n.indexOf(\"(\")2)&&(o.length<2?!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u):1===o[0].length?!!o[0].match(/^\\d+$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/):!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/)))))},n.exports={format:function(e,n,t,i){return null!=t&&t!==r.culture()&&r.setCulture(t),d(Number(e),null!=n?n:u,null==i?Math.round:i)}}},\n", + " function _(e,n,t){!function(){\"use strict\";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(e){return i(a(e),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}function i(t,r){var i,s,a,o,p,c,l,u,f,d=1,g=t.length,y=\"\";for(s=0;s=0),o.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o.width?parseInt(o.width):0);break;case\"e\":i=o.precision?parseFloat(i).toExponential(o.precision):parseFloat(i).toExponential();break;case\"f\":i=o.precision?parseFloat(i).toFixed(o.precision):parseFloat(i);break;case\"g\":i=o.precision?String(Number(i.toPrecision(o.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=o.precision?i.substring(0,o.precision):i;break;case\"t\":i=String(!!i),i=o.precision?i.substring(0,o.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o.precision?i.substring(0,o.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o.precision?i.substring(0,o.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}e.json.test(o.type)?y+=i:(!e.number.test(o.type)||u&&!o.sign?f=\"\":(f=u?\"+\":\"-\",i=i.toString().replace(e.sign,\"\")),c=o.pad_char?\"0\"===o.pad_char?\"0\":o.pad_char.charAt(1):\" \",l=o.width-(f+i).length,p=o.width&&l>0?c.repeat(l):\"\",y+=o.align?f+i+p:\"0\"===c?f+p+i:p+f+i)}return y}var s=Object.create(null);function a(n){if(s[n])return s[n];for(var t,r=n,i=[],a=0;r;){if(null!==(t=e.text.exec(r)))i.push(t[0]);else if(null!==(t=e.modulo.exec(r)))i.push(\"%\");else{if(null===(t=e.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(t[2]){a|=1;var o=[],p=t[2],c=[];if(null===(c=e.key.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(c[1]);\"\"!==(p=p.substring(c[0].length));)if(null!==(c=e.key_access.exec(p)))o.push(c[1]);else{if(null===(c=e.index_access.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[n]=i}void 0!==t&&(t.sprintf=n,t.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=n,window.vsprintf=r,\"function\"==typeof define&&define.amd&&define((function(){return{sprintf:n,vsprintf:r}})))}()},\n", + " function _(e,i,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(9),a=e(127),s=e(191),r=e(192),c=e(195),_=e(196),m=e(194);class k extends s.CompositeTicker{constructor(e){super(e)}static init_DatetimeTicker(){this.override({num_minor_ticks:0,tickers:()=>[new a.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*m.ONE_MILLI,num_minor_ticks:0}),new a.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:m.ONE_SECOND,max_interval:30*m.ONE_MINUTE,num_minor_ticks:0}),new a.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:m.ONE_HOUR,max_interval:12*m.ONE_HOUR,num_minor_ticks:0}),new r.DaysTicker({days:t.range(1,32)}),new r.DaysTicker({days:t.range(1,31,3)}),new r.DaysTicker({days:[1,8,15,22]}),new r.DaysTicker({days:[1,15]}),new c.MonthsTicker({months:t.range(0,12,1)}),new c.MonthsTicker({months:t.range(0,12,2)}),new c.MonthsTicker({months:t.range(0,12,4)}),new c.MonthsTicker({months:t.range(0,12,6)}),new _.YearsTicker({})]})}}n.DatetimeTicker=k,k.__name__=\"DatetimeTicker\",k.init_DatetimeTicker()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=t(1),s=t(128),n=r.__importStar(t(18)),_=t(9);class a extends s.ContinuousTicker{constructor(t){super(t)}static init_CompositeTicker(){this.define({tickers:[n.Array,[]]})}get min_intervals(){return this.tickers.map(t=>t.get_min_interval())}get max_intervals(){return this.tickers.map(t=>t.get_max_interval())}get min_interval(){return this.min_intervals[0]}get max_interval(){return this.max_intervals[0]}get_best_ticker(t,e,i){const r=e-t,s=this.get_ideal_interval(t,e,i),n=[_.sorted_index(this.min_intervals,s)-1,_.sorted_index(this.max_intervals,s)],a=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map(t=>Math.abs(i-r/t));let c;if(_.is_empty(a.filter(t=>!isNaN(t))))c=this.tickers[0];else{const t=n[_.argmin(a)];c=this.tickers[t]}return c}get_interval(t,e,i){return this.get_best_ticker(t,e,i).get_interval(t,e,i)}get_ticks_no_defaults(t,e,i,r){return this.get_best_ticker(t,e,r).get_ticks_no_defaults(t,e,i,r)}}i.CompositeTicker=a,a.__name__=\"CompositeTicker\",a.init_CompositeTicker()},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=t(1),s=t(193),a=t(194),o=i.__importStar(t(18)),r=t(9);class _ extends s.SingleIntervalTicker{constructor(t){super(t)}static init_DaysTicker(){this.define({days:[o.Array,[]]}),this.override({num_minor_ticks:0})}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*a.ONE_DAY:this.interval=31*a.ONE_DAY}get_ticks_no_defaults(t,e,n,i){const s=function(t,e){const n=a.last_month_no_later_than(new Date(t)),i=a.last_month_no_later_than(new Date(e));i.setUTCMonth(i.getUTCMonth()+1);const s=[],o=n;for(;s.push(a.copy_date(o)),o.setUTCMonth(o.getUTCMonth()+1),!(o>i););return s}(t,e),o=this.days,_=this.interval;return{major:r.concat(s.map(t=>((t,e)=>{const n=t.getUTCMonth(),i=[];for(const s of o){const o=a.copy_date(t);o.setUTCDate(s);new Date(o.getTime()+e/2).getUTCMonth()==n&&i.push(o)}return i})(t,_))).map(t=>t.getTime()).filter(n=>t<=n&&n<=e),minor:[]}}}n.DaysTicker=_,_.__name__=\"DaysTicker\",_.init_DaysTicker()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),r=e(128),l=n.__importStar(e(18));class a extends r.ContinuousTicker{constructor(e){super(e)}static init_SingleIntervalTicker(){this.define({interval:[l.Number]})}get_interval(e,t,i){return this.interval}get min_interval(){return this.interval}get max_interval(){return this.interval}}i.SingleIntervalTicker=a,a.__name__=\"SingleIntervalTicker\",a.init_SingleIntervalTicker()},\n", + " function _(t,e,n){function _(t){return new Date(t.getTime())}function O(t){const e=_(t);return e.setUTCDate(1),e.setUTCHours(0),e.setUTCMinutes(0),e.setUTCSeconds(0),e.setUTCMilliseconds(0),e}Object.defineProperty(n,\"__esModule\",{value:!0}),n.ONE_MILLI=1,n.ONE_SECOND=1e3,n.ONE_MINUTE=60*n.ONE_SECOND,n.ONE_HOUR=60*n.ONE_MINUTE,n.ONE_DAY=24*n.ONE_HOUR,n.ONE_MONTH=30*n.ONE_DAY,n.ONE_YEAR=365*n.ONE_DAY,n.copy_date=_,n.last_month_no_later_than=O,n.last_year_no_later_than=function(t){const e=O(t);return e.setUTCMonth(0),e}},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=t(1),i=t(193),s=t(194),a=r.__importStar(t(18)),o=t(9);class _ extends i.SingleIntervalTicker{constructor(t){super(t)}static init_MonthsTicker(){this.define({months:[a.Array,[]]})}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*s.ONE_MONTH:this.interval=12*s.ONE_MONTH}get_ticks_no_defaults(t,e,n,r){const i=function(t,e){const n=s.last_year_no_later_than(new Date(t)),r=s.last_year_no_later_than(new Date(e));r.setUTCFullYear(r.getUTCFullYear()+1);const i=[],a=n;for(;i.push(s.copy_date(a)),a.setUTCFullYear(a.getUTCFullYear()+1),!(a>r););return i}(t,e),a=this.months;return{major:o.concat(i.map(t=>a.map(e=>{const n=s.copy_date(t);return n.setUTCMonth(e),n}))).map(t=>t.getTime()).filter(n=>t<=n&&n<=e),minor:[]}}}n.MonthsTicker=_,_.__name__=\"MonthsTicker\",_.init_MonthsTicker()},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const i=e(126),r=e(193),n=e(194);class _ extends r.SingleIntervalTicker{constructor(e){super(e)}initialize(){super.initialize(),this.interval=n.ONE_YEAR,this.basic_ticker=new i.BasicTicker({num_minor_ticks:0})}get_ticks_no_defaults(e,t,a,i){const r=n.last_year_no_later_than(new Date(e)).getUTCFullYear(),_=n.last_year_no_later_than(new Date(t)).getUTCFullYear();return{major:this.basic_ticker.get_ticks_no_defaults(r,_,a,i).major.map(e=>Date.UTC(e,0,1)).filter(a=>e<=a&&a<=t),minor:[]}}}a.YearsTicker=_,_.__name__=\"YearsTicker\"},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(177),o=e(182),n=e(198),r=e(199);class _ extends s.AxisView{}t.LogAxisView=_,_.__name__=\"LogAxisView\";class c extends o.ContinuousAxis{constructor(e){super(e)}static init_LogAxis(){this.prototype.default_view=_,this.override({ticker:()=>new r.LogTicker,formatter:()=>new n.LogTickFormatter})}}t.LogAxis=c,c.__name__=\"LogAxis\",c.init_LogAxis()},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=t(1),o=t(131),a=t(130),n=i.__importStar(t(18));class c extends o.TickFormatter{constructor(t){super(t)}static init_LogTickFormatter(){this.define({ticker:[n.Instance,null]})}initialize(){super.initialize(),this.basic_formatter=new a.BasicTickFormatter}doFormat(t,e){if(0==t.length)return[];const r=null!=this.ticker?this.ticker.base:10;let i=!1;const o=new Array(t.length);for(let e=0,a=t.length;e0&&o[e]==o[e-1]){i=!0;break}return i?this.basic_formatter.doFormat(t,e):o}}r.LogTickFormatter=c,c.__name__=\"LogTickFormatter\",c.init_LogTickFormatter()},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(127),s=t(9);class n extends i.AdaptiveTicker{constructor(t){super(t)}static init_LogTicker(){this.override({mantissas:[1,5]})}get_ticks_no_defaults(t,o,e,i){const n=this.num_minor_ticks,r=[],c=this.base,a=Math.log(t)/Math.log(c),f=Math.log(o)/Math.log(c),l=f-a;let h;if(isFinite(l))if(l<2){const e=this.get_interval(t,o,i),c=Math.floor(t/e),a=Math.ceil(o/e);if(h=s.range(c,a+1).filter(t=>0!=t).map(t=>t*e).filter(e=>t<=e&&e<=o),n>0&&h.length>0){const t=e/n,o=s.range(0,n).map(o=>o*t);for(const t of o.slice(1))r.push(h[0]-t);for(const t of h)for(const e of o)r.push(t+e)}}else{const t=Math.ceil(.999999*a),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=s.range(t-1,o+1,e).map(t=>c**t),n>0&&h.length>0){const t=c**e/n,o=s.range(1,n+1).map(o=>o*t);for(const t of o)r.push(h[0]/t);r.push(h[0]);for(const t of h)for(const e of o)r.push(t*e)}}else h=[];return{major:h.filter(e=>t<=e&&e<=o),minor:r.filter(e=>t<=e&&e<=o)}}}e.LogTicker=n,n.__name__=\"LogTicker\",n.init_LogTicker()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(177),s=e(184),o=e(201),a=e(202);class c extends i.AxisView{}r.MercatorAxisView=c,c.__name__=\"MercatorAxisView\";class n extends s.LinearAxis{constructor(e){super(e)}static init_MercatorAxis(){this.prototype.default_view=c,this.override({ticker:()=>new a.MercatorTicker({dimension:\"lat\"}),formatter:()=>new o.MercatorTickFormatter({dimension:\"lat\"})})}}r.MercatorAxis=n,n.__name__=\"MercatorAxis\",n.init_MercatorAxis()},\n", + " function _(r,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const o=r(1),n=r(130),i=o.__importStar(r(18)),c=r(37);class a extends n.BasicTickFormatter{constructor(r){super(r)}static init_MercatorTickFormatter(){this.define({dimension:[i.LatLon]})}doFormat(r,t){if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0==r.length)return[];const e=r.length,o=new Array(e);if(\"lon\"==this.dimension)for(let n=0;n{const n=s.replace_placeholders(this.url,t,e);if(!r.isString(n))throw new Error(\"HTML output is not supported in this context\");this.same_tab?window.location.href=n:window.open(n)},{selected:o}=t;for(const e of o.indices)n(e);for(const e of o.line_indices)n(e)}}n.OpenURL=a,a.__name__=\"OpenURL\",a.init_OpenURL()},\n", + " function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});var n=a(77);r.Canvas=n.Canvas;var s=a(208);r.CartesianFrame=s.CartesianFrame},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const a=e(209),_=e(146),n=e(157),r=e(158),i=e(210),g=e(98),c=e(212),o=e(13),l=e(11);class h extends c.LayoutItem{constructor(e,t,s,a,_={},n={}){super(),this.in_x_scale=e,this.in_y_scale=t,this.x_range=s,this.y_range=a,this.extra_x_ranges=_,this.extra_y_ranges=n,l.assert(null==e.source_range&&null==e.target_range),l.assert(null==t.source_range&&null==t.target_range),this._configure_scales()}_get_ranges(e,t){return new Map(o.entries(Object.assign(Object.assign({},t),{default:e})))}_get_scales(e,t,s){const c=new Map;for(const[o,l]of t){if((l instanceof i.DataRange1d||l instanceof r.Range1d)&&!(e instanceof _.ContinuousScale))throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);if(l instanceof g.FactorRange&&!(e instanceof a.CategoricalScale))throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&l instanceof i.DataRange1d&&(l.scale_hint=\"log\");const t=e.clone();t.setv({source_range:l,target_range:s}),c.set(o,t)}return c}_configure_frame_ranges(){const{bbox:e}=this;this._x_target=new r.Range1d({start:e.left,end:e.right}),this._y_target=new r.Range1d({start:e.bottom,end:e.top})}_configure_scales(){this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._x_scales=this._get_scales(this.in_x_scale,this._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,this._y_ranges,this._y_target)}_update_scales(){this._configure_frame_ranges();for(const[,e]of this._x_scales)e.target_range=this._x_target;for(const[,e]of this._y_scales)e.target_range=this._y_target}_set_geometry(e,t){super._set_geometry(e,t),this._update_scales()}get x_ranges(){return this._x_ranges}get y_ranges(){return this._y_ranges}get x_scales(){return this._x_scales}get y_scales(){return this._y_scales}get x_scale(){return this._x_scales.get(\"default\")}get y_scale(){return this._y_scales.get(\"default\")}get xscales(){return o.to_object(this.x_scales)}get yscales(){return o.to_object(this.y_scales)}}s.CartesianFrame=h,h.__name__=\"CartesianFrame\"},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(147);class _ extends n.Scale{constructor(e){super(e)}compute(e){return super._linear_compute(this.source_range.synthetic(e))}v_compute(e){return super._linear_v_compute(this.source_range.v_synthetic(e))}invert(e){return this._linear_invert(e)}v_invert(e){return this._linear_v_invert(e)}}t.CategoricalScale=_,_.__name__=\"CategoricalScale\"},\n", + " function _(t,i,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=t(1),a=t(211),s=t(90),l=t(19),_=e.__importStar(t(18)),o=e.__importStar(t(79)),r=t(9);class h extends a.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}static init_DataRange1d(){this.define({start:[_.Number],end:[_.Number],range_padding:[_.Number,.1],range_padding_units:[_.PaddingUnits,\"percent\"],flipped:[_.Boolean,!1],follow:[_.StartEnd],follow_interval:[_.Number],default_span:[_.Number,2],only_visible:[_.Boolean,!1]}),this.internal({scale_hint:[_.String,\"auto\"]})}initialize(){super.initialize(),this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span,this._plot_bounds=new Map}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}computed_renderers(){const t=this.names;let i=this.renderers;if(0==i.length)for(const t of this.plots){const n=t.renderers.filter(t=>t instanceof s.GlyphRenderer);i=i.concat(n)}t.length>0&&(i=i.filter(i=>r.includes(t,i.name))),l.logger.debug(`computed ${i.length} renderers for ${this}`);for(const t of i)l.logger.trace(\" - \"+t);return i}_compute_plot_bounds(t,i){let n=o.empty();for(const e of t){const t=i.get(e);null==t||!e.visible&&this.only_visible||(n=o.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=o.empty();let e=t.x1-t.x0;e<=0&&(e=1);let a=t.y1-t.y0;a<=0&&(a=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return e_&&(\"start\"==this.follow?a=e+s*_:\"end\"==this.follow&&(e=a-s*_)),[e,a]}update(t,i,n,e){if(this.have_updated_interactively)return;const a=this.computed_renderers();let s=this._compute_plot_bounds(a,t);null!=e&&(s=this.adjust_bounds_for_aspect(s,e)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.values(),i);let[o,r]=this._compute_range(l,_);null!=this._initial_start&&(\"log\"==this.scale_hint?this._initial_start>0&&(o=this._initial_start):o=this._initial_start),null!=this._initial_end&&(\"log\"==this.scale_hint?this._initial_end>0&&(r=this._initial_end):r=this._initial_end);const[h,d]=[this.start,this.end];if(o!=h||r!=d){const t={};o!=h&&(t.start=o),r!=d&&(t.end=r),this.setv(t)}\"auto\"==this.bounds&&this.setv({bounds:[o,r]},{silent:!0}),this.change.emit()}reset(){this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()}}n.DataRange1d=h,h.__name__=\"DataRange1d\",h.init_DataRange1d()},\n", + " function _(e,a,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),r=e(99),s=n.__importStar(e(18));class _ extends r.Range{constructor(e){super(e)}static init_DataRange(){this.define({names:[s.Array,[]],renderers:[s.Array,[]]})}}t.DataRange=_,_.__name__=\"DataRange\",_.init_DataRange()},\n", + " function _(a,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});var e=a(213);t.Sizeable=e.Sizeable,t.SizingPolicy=e.SizingPolicy;var i=a(214);t.Layoutable=i.Layoutable,t.LayoutItem=i.LayoutItem;var n=a(215);t.HStack=n.HStack,t.VStack=n.VStack,t.AnchorLayout=n.AnchorLayout;var r=a(216);t.Grid=r.Grid,t.Row=r.Row,t.Column=r.Column;var c=a(217);t.ContentBox=c.ContentBox,t.VariadicBox=c.VariadicBox},\n", + " function _(t,h,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(21),{min:d,max:n}=Math;class w{constructor(t={}){this.width=null!=t.width?t.width:0,this.height=null!=t.height?t.height:0}bounded_to({width:t,height:h}){return new w({width:this.width==1/0&&null!=t?t:this.width,height:this.height==1/0&&null!=h?h:this.height})}expanded_to({width:t,height:h}){return new w({width:t!=1/0?n(this.width,t):this.width,height:h!=1/0?n(this.height,h):this.height})}expand_to({width:t,height:h}){this.width=n(this.width,t),this.height=n(this.height,h)}narrowed_to({width:t,height:h}){return new w({width:d(this.width,t),height:d(this.height,h)})}narrow_to({width:t,height:h}){this.width=d(this.width,t),this.height=d(this.height,h)}grow_by({left:t,right:h,top:i,bottom:e}){const d=this.width+t+h,n=this.height+i+e;return new w({width:d,height:n})}shrink_by({left:t,right:h,top:i,bottom:e}){const d=n(this.width-t-h,0),s=n(this.height-i-e,0);return new w({width:d,height:s})}map(t,h){return new w({width:t(this.width),height:(null!=h?h:t)(this.height)})}}i.Sizeable=w,w.__name__=\"Sizeable\",i.SizingPolicy=e.Enum(\"fixed\",\"fit\",\"min\",\"max\")},\n", + " function _(i,t,h){Object.defineProperty(h,\"__esModule\",{value:!0});const e=i(213),s=i(79),{min:n,max:g,round:a}=Math;class l{constructor(){this._bbox=new s.BBox,this._inner_bbox=new s.BBox}get bbox(){return this._bbox}get inner_bbox(){return this._inner_bbox}get sizing(){return this._sizing}set_sizing(i){const t=i.width_policy||\"fit\",h=i.width,e=null!=i.min_width?i.min_width:0,s=null!=i.max_width?i.max_width:1/0,n=i.height_policy||\"fit\",g=i.height,a=null!=i.min_height?i.min_height:0,l=null!=i.max_height?i.max_height:1/0,_=i.aspect,d=i.margin||{top:0,right:0,bottom:0,left:0},r=!1!==i.visible,w=i.halign||\"start\",o=i.valign||\"start\";this._sizing={width_policy:t,min_width:e,width:h,max_width:s,height_policy:n,min_height:a,height:g,max_height:l,aspect:_,margin:d,visible:r,halign:w,valign:o,size:{width:h,height:g},min_size:{width:e,height:a},max_size:{width:s,height:l}},this._init()}_init(){}_set_geometry(i,t){this._bbox=i,this._inner_bbox=t}set_geometry(i,t){this._set_geometry(i,t||i)}is_width_expanding(){return\"max\"==this.sizing.width_policy}is_height_expanding(){return\"max\"==this.sizing.height_policy}apply_aspect(i,{width:t,height:h}){const{aspect:e}=this.sizing;if(null!=e){const{width_policy:s,height_policy:n}=this.sizing,g=(i,t)=>{const h={max:4,fit:3,min:2,fixed:1};return h[i]>h[t]};if(\"fixed\"!=s&&\"fixed\"!=n)if(s==n){const s=t,n=a(t/e),g=a(h*e),l=h;Math.abs(i.width-s)+Math.abs(i.height-n)<=Math.abs(i.width-g)+Math.abs(i.height-l)?(t=s,h=n):(t=g,h=l)}else g(s,n)?h=a(t/e):t=a(h*e);else\"fixed\"==s?h=a(t/e):\"fixed\"==n&&(t=a(h*e))}return{width:t,height:h}}measure(i){if(!this.sizing.visible)return{width:0,height:0};const t=i=>\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i,h=i=>\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i,s=new e.Sizeable(i).shrink_by(this.sizing.margin).map(t,h),n=this._measure(s),g=this.clip_size(n),a=t(g.width),l=h(g.height),_=this.apply_aspect(s,{width:a,height:l});return Object.assign(Object.assign({},n),_)}compute(i={}){const t=this.measure({width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0}),{width:h,height:e}=t,n=new s.BBox({left:0,top:0,width:h,height:e});let g=void 0;if(null!=t.inner){const{left:i,top:n,right:a,bottom:l}=t.inner;g=new s.BBox({left:i,top:n,right:h-a,bottom:e-l})}this.set_geometry(n,g)}get xview(){return this.bbox.xview}get yview(){return this.bbox.yview}clip_width(i){return g(this.sizing.min_width,n(i,this.sizing.max_width))}clip_height(i){return g(this.sizing.min_height,n(i,this.sizing.max_height))}clip_size({width:i,height:t}){return{width:this.clip_width(i),height:this.clip_height(t)}}}h.Layoutable=l,l.__name__=\"Layoutable\";class _ extends l{_measure(i){const{width_policy:t,height_policy:h}=this.sizing;let e,s;if(i.width==1/0)e=null!=this.sizing.width?this.sizing.width:0;else switch(t){case\"fixed\":e=null!=this.sizing.width?this.sizing.width:0;break;case\"min\":e=null!=this.sizing.width?n(i.width,this.sizing.width):0;break;case\"fit\":e=null!=this.sizing.width?n(i.width,this.sizing.width):i.width;break;case\"max\":e=null!=this.sizing.width?g(i.width,this.sizing.width):i.width}if(i.height==1/0)s=null!=this.sizing.height?this.sizing.height:0;else switch(h){case\"fixed\":s=null!=this.sizing.height?this.sizing.height:0;break;case\"min\":s=null!=this.sizing.height?n(i.height,this.sizing.height):0;break;case\"fit\":s=null!=this.sizing.height?n(i.height,this.sizing.height):i.height;break;case\"max\":s=null!=this.sizing.height?g(i.height,this.sizing.height):i.height}return{width:e,height:s}}}h.LayoutItem=_,_.__name__=\"LayoutItem\";class d extends l{_measure(i){const t=this._content_size(),h=i.bounded_to(this.sizing.size).bounded_to(t);return{width:(()=>{switch(this.sizing.width_policy){case\"fixed\":return null!=this.sizing.width?this.sizing.width:t.width;case\"min\":return t.width;case\"fit\":return h.width;case\"max\":return Math.max(t.width,h.width)}})(),height:(()=>{switch(this.sizing.height_policy){case\"fixed\":return null!=this.sizing.height?this.sizing.height:t.height;case\"min\":return t.height;case\"fit\":return h.height;case\"max\":return Math.max(t.height,h.height)}})()}}}h.ContentLayoutable=d,d.__name__=\"ContentLayoutable\"},\n", + " function _(t,e,h){Object.defineProperty(h,\"__esModule\",{value:!0});const o=t(214),r=t(79);class i extends o.Layoutable{constructor(){super(...arguments),this.children=[]}}h.Stack=i,i.__name__=\"Stack\";class s extends i{_measure(t){let e=0,h=0;for(const t of this.children){const o=t.measure({width:0,height:0});e+=o.width,h=Math.max(h,o.height)}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const{top:h,bottom:o}=t;let{left:i}=t;for(const t of this.children){const{width:e}=t.measure({width:0,height:0});t.set_geometry(new r.BBox({left:i,width:e,top:h,bottom:o})),i+=e}}}h.HStack=s,s.__name__=\"HStack\";class n extends i{_measure(t){let e=0,h=0;for(const t of this.children){const o=t.measure({width:0,height:0});e=Math.max(e,o.width),h+=o.height}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const{left:h,right:o}=t;let{top:i}=t;for(const t of this.children){const{height:e}=t.measure({width:0,height:0});t.set_geometry(new r.BBox({top:i,height:e,left:h,right:o})),i+=e}}}h.VStack=n,n.__name__=\"VStack\";class c extends o.Layoutable{constructor(){super(...arguments),this.children=[]}_measure(t){let e=0,h=0;for(const{layout:o}of this.children){const r=o.measure(t);e=Math.max(e,r.width),h=Math.max(h,r.height)}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);for(const{layout:e,anchor:h,margin:o}of this.children){const{left:i,right:s,top:n,bottom:c,hcenter:a,vcenter:_}=t,{width:g,height:d}=e.measure(t);let m;switch(h){case\"top_left\":m=new r.BBox({left:i+o,top:n+o,width:g,height:d});break;case\"top_center\":m=new r.BBox({hcenter:a,top:n+o,width:g,height:d});break;case\"top_right\":m=new r.BBox({right:s-o,top:n+o,width:g,height:d});break;case\"bottom_right\":m=new r.BBox({right:s-o,bottom:c-o,width:g,height:d});break;case\"bottom_center\":m=new r.BBox({hcenter:a,bottom:c-o,width:g,height:d});break;case\"bottom_left\":m=new r.BBox({left:i+o,bottom:c-o,width:g,height:d});break;case\"center_left\":m=new r.BBox({left:i+o,vcenter:_,width:g,height:d});break;case\"center\":m=new r.BBox({hcenter:a,vcenter:_,width:g,height:d});break;case\"center_right\":m=new r.BBox({right:s-o,vcenter:_,width:g,height:d})}e.set_geometry(m)}}}h.AnchorLayout=c,c.__name__=\"AnchorLayout\"},\n", + " function _(t,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const e=t(213),o=t(214),n=t(8),r=t(79),h=t(9),{max:l,round:c}=Math;class a{constructor(t){this.def=t,this._map=new Map}get(t){let i=this._map.get(t);return void 0===i&&(i=this.def(),this._map.set(t,i)),i}apply(t,i){const s=this.get(t);this._map.set(t,i(s))}}a.__name__=\"DefaultMap\";class g{constructor(){this._items=[],this._nrows=0,this._ncols=0}get nrows(){return this._nrows}get ncols(){return this._ncols}add(t,i){const{r1:s,c1:e}=t;this._nrows=l(this._nrows,s+1),this._ncols=l(this._ncols,e+1),this._items.push({span:t,data:i})}at(t,i){return this._items.filter(({span:s})=>s.r0<=t&&t<=s.r1&&s.c0<=i&&i<=s.c1).map(({data:t})=>t)}row(t){return this._items.filter(({span:i})=>i.r0<=t&&t<=i.r1).map(({data:t})=>t)}col(t){return this._items.filter(({span:i})=>i.c0<=t&&t<=i.c1).map(({data:t})=>t)}foreach(t){for(const{span:i,data:s}of this._items)t(i,s)}map(t){const i=new g;for(const{span:s,data:e}of this._items)i.add(s,t(s,e));return i}}g.__name__=\"Container\";class p extends o.Layoutable{constructor(t=[]){super(),this.items=t,this.rows=\"auto\",this.cols=\"auto\",this.spacing=0,this.absolute=!1}is_width_expanding(){if(super.is_width_expanding())return!0;if(\"fixed\"==this.sizing.width_policy)return!1;const{cols:t}=this._state;return h.some(t,t=>\"max\"==t.policy)}is_height_expanding(){if(super.is_height_expanding())return!0;if(\"fixed\"==this.sizing.height_policy)return!1;const{rows:t}=this._state;return h.some(t,t=>\"max\"==t.policy)}_init(){super._init();const t=new g;for(const{layout:i,row:s,col:e,row_span:o,col_span:n}of this.items)if(i.sizing.visible){const r=s,h=e,l=s+(null!=o?o:1)-1,c=e+(null!=n?n:1)-1;t.add({r0:r,c0:h,r1:l,c1:c},i)}const{nrows:i,ncols:s}=t,e=new Array(i);for(let s=0;s{const t=n.isPlainObject(this.rows)?this.rows[s]||this.rows[\"*\"]:this.rows;return null==t?{policy:\"auto\"}:n.isNumber(t)?{policy:\"fixed\",height:t}:n.isString(t)?{policy:t}:t})(),o=i.align||\"auto\";if(\"fixed\"==i.policy)e[s]={policy:\"fixed\",height:i.height,align:o};else if(\"min\"==i.policy)e[s]={policy:\"min\",align:o};else if(\"fit\"==i.policy||\"max\"==i.policy)e[s]={policy:i.policy,flex:i.flex||1,align:o};else{if(\"auto\"!=i.policy)throw new Error(\"unrechable\");h.some(t.row(s),t=>t.is_height_expanding())?e[s]={policy:\"max\",flex:1,align:o}:e[s]={policy:\"min\",align:o}}}const o=new Array(s);for(let i=0;i{const t=n.isPlainObject(this.cols)?this.cols[i]||this.cols[\"*\"]:this.cols;return null==t?{policy:\"auto\"}:n.isNumber(t)?{policy:\"fixed\",width:t}:n.isString(t)?{policy:t}:t})(),e=s.align||\"auto\";if(\"fixed\"==s.policy)o[i]={policy:\"fixed\",width:s.width,align:e};else if(\"min\"==s.policy)o[i]={policy:\"min\",align:e};else if(\"fit\"==s.policy||\"max\"==s.policy)o[i]={policy:s.policy,flex:s.flex||1,align:e};else{if(\"auto\"!=s.policy)throw new Error(\"unrechable\");h.some(t.col(i),t=>t.is_width_expanding())?o[i]={policy:\"max\",flex:1,align:e}:o[i]={policy:\"min\",align:e}}}const[r,l]=n.isNumber(this.spacing)?[this.spacing,this.spacing]:this.spacing;this._state={items:t,nrows:i,ncols:s,rows:e,cols:o,rspacing:r,cspacing:l}}_measure_totals(t,i){const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state;return{height:h.sum(t)+(s-1)*o,width:h.sum(i)+(e-1)*n}}_measure_cells(t){const{items:i,nrows:s,ncols:o,rows:n,cols:r,rspacing:h,cspacing:a}=this._state,p=new Array(s);for(let t=0;t{const{r0:o,c0:g,r1:d,c1:w}=i,u=(d-o)*h,m=(w-g)*a;let y=0;for(let i=o;i<=d;i++)y+=t(i,g).height;y+=u;let x=0;for(let i=g;i<=w;i++)x+=t(o,i).width;x+=m;const b=s.measure({width:x,height:y});f.add(i,{layout:s,size_hint:b});const z=new e.Sizeable(b).grow_by(s.sizing.margin);z.height-=u,z.width-=m;const j=[];for(let t=o;t<=d;t++){const i=n[t];\"fixed\"==i.policy?z.height-=i.height:j.push(t)}if(z.height>0){const t=c(z.height/j.length);for(const i of j)p[i]=l(p[i],t)}const O=[];for(let t=g;t<=w;t++){const i=r[t];\"fixed\"==i.policy?z.width-=i.width:O.push(t)}if(z.width>0){const t=c(z.width/O.length);for(const i of O)_[i]=l(_[i],t)}});return{size:this._measure_totals(p,_),row_heights:p,col_widths:_,size_hints:f}}_measure_grid(t){const{nrows:i,ncols:s,rows:e,cols:o,rspacing:n,cspacing:r}=this._state,h=this._measure_cells((t,i)=>{const s=e[t],n=o[i];return{width:\"fixed\"==n.policy?n.width:1/0,height:\"fixed\"==s.policy?s.height:1/0}});let a;a=\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:h.size.height;let g,p=0;for(let t=0;t0)for(let t=0;ti?i:e,t--}}}g=\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:h.size.width;let _=0;for(let t=0;t0)for(let t=0;ts?s:o,t--}}}const{row_heights:f,col_widths:d,size_hints:w}=this._measure_cells((t,i)=>({width:h.col_widths[i],height:h.row_heights[t]}));return{size:this._measure_totals(f,d),row_heights:f,col_widths:d,size_hints:w}}_measure(t){const{size:i}=this._measure_grid(t);return i}_set_geometry(t,i){super._set_geometry(t,i);const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state,{row_heights:h,col_widths:g,size_hints:p}=this._measure_grid(t),_=this._state.rows.map((t,i)=>Object.assign(Object.assign({},t),{top:0,height:h[i],get bottom(){return this.top+this.height}})),f=this._state.cols.map((t,i)=>Object.assign(Object.assign({},t),{left:0,width:g[i],get right(){return this.left+this.width}})),d=p.map((t,i)=>Object.assign(Object.assign({},i),{outer:new r.BBox,inner:new r.BBox}));for(let i=0,e=this.absolute?t.top:0;i{const{layout:l,size_hint:a}=h,{sizing:g}=l,{width:p,height:d}=a,w=function(t,i){let s=(i-t)*n;for(let e=t;e<=i;e++)s+=f[e].width;return s}(i,e),u=function(t,i){let s=(i-t)*o;for(let e=t;e<=i;e++)s+=_[e].height;return s}(t,s),m=i==e&&\"auto\"!=f[i].align?f[i].align:g.halign,y=t==s&&\"auto\"!=_[t].align?_[t].align:g.valign;let x=f[i].left;\"start\"==m?x+=g.margin.left:\"center\"==m?x+=c((w-p)/2):\"end\"==m&&(x+=w-g.margin.right-p);let b=_[t].top;\"start\"==y?b+=g.margin.top:\"center\"==y?b+=c((u-d)/2):\"end\"==y&&(b+=u-g.margin.bottom-d),h.outer=new r.BBox({left:x,top:b,width:p,height:d})});const w=_.map(()=>({start:new a(()=>0),end:new a(()=>0)})),u=f.map(()=>({start:new a(()=>0),end:new a(()=>0)}));d.foreach(({r0:t,c0:i,r1:s,c1:e},{size_hint:o,outer:n})=>{const{inner:r}=o;null!=r&&(w[t].start.apply(n.top,t=>l(t,r.top)),w[s].end.apply(_[s].bottom-n.bottom,t=>l(t,r.bottom)),u[i].start.apply(n.left,t=>l(t,r.left)),u[e].end.apply(f[e].right-n.right,t=>l(t,r.right)))}),d.foreach(({r0:t,c0:i,r1:s,c1:e},o)=>{const{size_hint:n,outer:h}=o;function l({left:t,right:i,top:s,bottom:e}){const o=h.width-t-i,n=h.height-s-e;return new r.BBox({left:t,top:s,width:o,height:n})}if(null!=n.inner){let r=l(n.inner);if(!1!==n.align){const o=w[t].start.get(h.top),n=w[s].end.get(_[s].bottom-h.bottom),c=u[i].start.get(h.left),a=u[e].end.get(f[e].right-h.right);try{r=l({top:o,bottom:n,left:c,right:a})}catch(t){}}o.inner=r}else o.inner=h}),d.foreach((t,{layout:i,outer:s,inner:e})=>{i.set_geometry(s,e)})}}s.Grid=p,p.__name__=\"Grid\";class _ extends p{constructor(t){super(),this.items=t.map((t,i)=>({layout:t,row:0,col:i})),this.rows=\"fit\"}}s.Row=_,_.__name__=\"Row\";class f extends p{constructor(t){super(),this.items=t.map((t,i)=>({layout:t,row:i,col:0})),this.cols=\"fit\"}}s.Column=f,f.__name__=\"Column\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(214),i=e(213),a=e(72);class c extends n.ContentLayoutable{constructor(e){super(),this.content_size=a.unsized(e,()=>new i.Sizeable(a.size(e)))}_content_size(){return this.content_size}}s.ContentBox=c,c.__name__=\"ContentBox\";class o extends n.Layoutable{constructor(e){super(),this.el=e}_measure(e){const t=new i.Sizeable(e).bounded_to(this.sizing.size);return a.sized(this.el,t,()=>{const e=new i.Sizeable(a.content_size(this.el)),{border:t,padding:s}=a.extents(this.el);return e.grow_by(t).grow_by(s).map(Math.ceil)})}}s.VariadicBox=o,o.__name__=\"VariadicBox\";class r extends o{constructor(e){super(e),this._cache=new Map}_measure(e){const{width:t,height:s}=e,n=`${t},${s}`;let i=this._cache.get(n);return null==i&&(i=super._measure(e),this._cache.set(n,i)),i}invalidate_cache(){this._cache.clear()}}s.CachedVariadicBox=r,r.__name__=\"CachedVariadicBox\"},\n", + " function _(e,r,u){Object.defineProperty(u,\"__esModule\",{value:!0});var a=e(219);u.Expression=a.Expression;var n=e(220);u.Stack=n.Stack;var o=e(221);u.CumSum=o.CumSum},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(81);class i extends n.Model{constructor(e){super(e)}initialize(){super.initialize(),this._connected=new Set,this._result=new Map}v_compute(e){this._connected.has(e)||(this.connect(e.change,()=>this._result.delete(e)),this.connect(e.patching,()=>this._result.delete(e)),this.connect(e.streaming,()=>this._result.delete(e)),this._connected.add(e));let t=this._result.get(e);return null==t&&(t=this._v_compute(e),this._result.set(e,t)),t}}s.Expression=i,i.__name__=\"Expression\"},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=t(1),i=t(219),s=t(24),o=r.__importStar(t(18));class a extends i.Expression{constructor(t){super(t)}static init_Stack(){this.define({fields:[o.Array,[]]})}_v_compute(t){var e;const n=null!==(e=t.get_length())&&void 0!==e?e:0,r=new s.NumberArray(n);for(const e of this.fields){const i=t.data[e];if(null!=i)for(let t=0,e=Math.min(n,i.length);tn(t,e,r,...this.values))}}n.FuncTickFormatter=u,u.__name__=\"FuncTickFormatter\",u.init_FuncTickFormatter()},\n", + " function _(r,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=r(1),o=e.__importStar(r(188)),a=r(131),i=e.__importStar(r(18));class u extends a.TickFormatter{constructor(r){super(r)}static init_NumeralTickFormatter(){this.define({format:[i.String,\"0,0\"],language:[i.String,\"en\"],rounding:[i.RoundingFunction,\"round\"]})}get _rounding_fn(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}doFormat(r,t){const{format:n,language:e,_rounding_fn:a}=this;return r.map(r=>o.format(r,n,e,a))}}n.NumeralTickFormatter=u,u.__name__=\"NumeralTickFormatter\",u.init_NumeralTickFormatter()},\n", + " function _(t,r,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(1),n=t(131),o=t(187),a=e.__importStar(t(18));class c extends n.TickFormatter{constructor(t){super(t)}static init_PrintfTickFormatter(){this.define({format:[a.String,\"%s\"]})}doFormat(t,r){return t.map(t=>o.sprintf(this.format,t))}}i.PrintfTickFormatter=c,c.__name__=\"PrintfTickFormatter\",c.init_PrintfTickFormatter()},\n", + " function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});var v=a(233);r.AnnularWedge=v.AnnularWedge;var l=a(234);r.Annulus=l.Annulus;var t=a(235);r.Arc=t.Arc;var i=a(236);r.Bezier=i.Bezier;var n=a(237);r.Circle=n.Circle;var u=a(241);r.CenterRotatable=u.CenterRotatable;var c=a(242);r.Ellipse=c.Ellipse;var g=a(243);r.EllipseOval=g.EllipseOval;var A=a(94);r.Glyph=A.Glyph;var p=a(111);r.HArea=p.HArea;var s=a(244);r.HBar=s.HBar;var d=a(246);r.HexTile=d.HexTile;var R=a(247);r.Image=R.Image;var o=a(249);r.ImageRGBA=o.ImageRGBA;var y=a(250);r.ImageURL=y.ImageURL;var h=a(92);r.Line=h.Line;var m=a(252);r.MultiLine=m.MultiLine;var B=a(253);r.MultiPolygons=B.MultiPolygons;var P=a(254);r.Oval=P.Oval;var G=a(110);r.Patch=G.Patch;var H=a(255);r.Patches=H.Patches;var I=a(256);r.Quad=I.Quad;var L=a(257);r.Quadratic=L.Quadratic;var M=a(258);r.Ray=M.Ray;var O=a(259);r.Rect=O.Rect;var x=a(260);r.Segment=x.Segment;var C=a(261);r.Step=C.Step;var E=a(262);r.Text=E.Text;var Q=a(113);r.VArea=Q.VArea;var S=a(263);r.VBar=S.VBar;var T=a(264);r.Wedge=T.Wedge;var V=a(93);r.XYGlyph=V.XYGlyph},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),r=e(93),n=e(100),a=e(28),_=e(24),o=i.__importStar(e(18)),d=e(10),h=e(88);class u extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius,this._angle=new _.NumberArray(this._start_angle.length);for(let e=0,t=this._start_angle.length;e=s&&u.push(e)}const l=this.model.properties.direction.value(),c=[];for(const e of u){const i=Math.atan2(s-this.sy[e],t-this.sx[e]);d.angle_between(-i,-this._start_angle[e],-this._end_angle[e],l)&&c.push(e)}return new h.Selection({indices:c})}draw_legend_for_index(e,t,s){n.generic_area_legend(this.visuals,e,t,s)}scenterxy(e){const t=(this.sinner_radius[e]+this.souter_radius[e])/2,s=(this._start_angle[e]+this._end_angle[e])/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.AnnularWedgeView=u,u.__name__=\"AnnularWedgeView\";class l extends r.XYGlyph{constructor(e){super(e)}static init_AnnularWedge(){this.prototype.default_view=u,this.mixins([a.LineVector,a.FillVector]),this.define({direction:[o.Direction,\"anticlock\"],inner_radius:[o.DistanceSpec],outer_radius:[o.DistanceSpec],start_angle:[o.AngleSpec],end_angle:[o.AngleSpec]})}}s.AnnularWedge=l,l.__name__=\"AnnularWedge\",l.init_AnnularWedge()},\n", + " function _(s,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const t=s(1),r=s(93),n=s(28),a=t.__importStar(s(18)),_=s(32),u=s(88);class o extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius}_render(s,i,{sx:e,sy:t,sinner_radius:r,souter_radius:n}){for(const a of i)if(!isNaN(e[a]+t[a]+r[a]+n[a])){if(this.visuals.fill.doit){if(this.visuals.fill.set_vectorize(s,a),s.beginPath(),_.is_ie)for(const i of[!1,!0])s.arc(e[a],t[a],r[a],0,Math.PI,i),s.arc(e[a],t[a],n[a],Math.PI,0,!i);else s.arc(e[a],t[a],r[a],0,2*Math.PI,!0),s.arc(e[a],t[a],n[a],2*Math.PI,0,!1);s.fill()}this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,a),s.beginPath(),s.arc(e[a],t[a],r[a],0,2*Math.PI),s.moveTo(e[a]+n[a],t[a]),s.arc(e[a],t[a],n[a],0,2*Math.PI),s.stroke())}}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e);let n,a,_,o;if(\"data\"==this.model.properties.outer_radius.units)n=t-this.max_outer_radius,_=t+this.max_outer_radius,a=r-this.max_outer_radius,o=r+this.max_outer_radius;else{const s=i-this.max_outer_radius,t=i+this.max_outer_radius;[n,_]=this.renderer.xscale.r_invert(s,t);const r=e-this.max_outer_radius,u=e+this.max_outer_radius;[a,o]=this.renderer.yscale.r_invert(r,u)}const d=[];for(const s of this.index.indices({x0:n,x1:_,y0:a,y1:o})){const i=this.souter_radius[s]**2,e=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(t,this._x[s]),[_,u]=this.renderer.yscale.r_compute(r,this._y[s]),o=(n-a)**2+(_-u)**2;o<=i&&o>=e&&d.push(s)}return new u.Selection({indices:d})}draw_legend_for_index(s,{x0:i,y0:e,x1:t,y1:r},n){const a=n+1,_=new Array(a);_[n]=(i+t)/2;const u=new Array(a);u[n]=(e+r)/2;const o=.5*Math.min(Math.abs(t-i),Math.abs(r-e)),d=new Array(a);d[n]=.4*o;const h=new Array(a);h[n]=.8*o,this._render(s,[n],{sx:_,sy:u,sinner_radius:d,souter_radius:h})}}e.AnnulusView=o,o.__name__=\"AnnulusView\";class d extends r.XYGlyph{constructor(s){super(s)}static init_Annulus(){this.prototype.default_view=o,this.mixins([n.LineVector,n.FillVector]),this.define({inner_radius:[a.DistanceSpec],outer_radius:[a.DistanceSpec]})}}e.Annulus=d,d.__name__=\"Annulus\",d.init_Annulus()},\n", + " function _(e,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=e(1),r=e(93),n=e(100),a=e(28),_=t.__importStar(e(18));class c extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius}_render(e,i,{sx:s,sy:t,sradius:r,_start_angle:n,_end_angle:a}){if(this.visuals.line.doit){const _=this.model.properties.direction.value();for(const c of i)isNaN(s[c]+t[c]+r[c]+n[c]+a[c])||(e.beginPath(),e.arc(s[c],t[c],r[c],n[c],a[c],_),this.visuals.line.set_vectorize(e,c),e.stroke())}}draw_legend_for_index(e,i,s){n.generic_line_legend(this.visuals,e,i,s)}}s.ArcView=c,c.__name__=\"ArcView\";class d extends r.XYGlyph{constructor(e){super(e)}static init_Arc(){this.prototype.default_view=c,this.mixins(a.LineVector),this.define({direction:[_.Direction,\"anticlock\"],radius:[_.DistanceSpec],start_angle:[_.AngleSpec],end_angle:[_.AngleSpec]})}}s.Arc=d,d.__name__=\"Arc\",d.init_Arc()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(28),c=e(94),o=e(100),_=e(37),r=s.__importStar(e(18));function a(e,t,i,s,n,c,o,_){const r=[],a=[[],[]];for(let a=0;a<=2;a++){let h,d,x;if(0===a?(d=6*e-12*i+6*n,h=-3*e+9*i-9*n+3*o,x=3*i-3*e):(d=6*t-12*s+6*c,h=-3*t+9*s-9*c+3*_,x=3*s-3*t),Math.abs(h)<1e-12){if(Math.abs(d)<1e-12)continue;const e=-x/d;0Math.max(s,i[e]));break}case\"min\":{const s=this.sdist(this.renderer.xscale,this._x,this._radius),i=this.sdist(this.renderer.yscale,this._y,this._radius);this.sradius=_.map(s,(s,e)=>Math.min(s,i[e]));break}}else this.sradius=this._radius,this.max_size=2*this.max_radius;else this.sradius=_.map(this._size,s=>s/2)}_mask_data(){const[s,i]=this.renderer.plot_view.frame.bbox.ranges;let e,t,r,a;if(null!=this._radius&&\"data\"==this.model.properties.radius.units){const n=s.start,h=s.end;[e,r]=this.renderer.xscale.r_invert(n,h),e-=this.max_radius,r+=this.max_radius;const d=i.start,l=i.end;[t,a]=this.renderer.yscale.r_invert(d,l),t-=this.max_radius,a+=this.max_radius}else{const n=s.start-this.max_size,h=s.end+this.max_size;[e,r]=this.renderer.xscale.r_invert(n,h);const d=i.start-this.max_size,l=i.end+this.max_size;[t,a]=this.renderer.yscale.r_invert(d,l)}return this.index.indices({x0:e,x1:r,y0:t,y1:a})}_render(s,i,{sx:e,sy:t,sradius:r}){for(const a of i)isNaN(e[a]+t[a]+r[a])||(s.beginPath(),s.arc(e[a],t[a],r[a],0,2*Math.PI,!1),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(s,a),s.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,a),s.stroke()))}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e);let a,n,h,d;if(null!=this._radius&&\"data\"==this.model.properties.radius.units)a=t-this.max_radius,n=t+this.max_radius,h=r-this.max_radius,d=r+this.max_radius;else{const s=i-this.max_size,t=i+this.max_size;[a,n]=this.renderer.xscale.r_invert(s,t);const r=e-this.max_size,l=e+this.max_size;[h,d]=this.renderer.yscale.r_invert(r,l)}const l=this.index.indices({x0:a,x1:n,y0:h,y1:d}),_=[];if(null!=this._radius&&\"data\"==this.model.properties.radius.units)for(const s of l){const i=this.sradius[s]**2,[e,a]=this.renderer.xscale.r_compute(t,this._x[s]),[n,h]=this.renderer.yscale.r_compute(r,this._y[s]);(e-a)**2+(n-h)**2<=i&&_.push(s)}else for(const s of l){const t=this.sradius[s]**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&_.push(s)}return new c.Selection({indices:_})}_hit_span(s){const{sx:i,sy:e}=s,t=this.bounds();let r,a,n,h;if(\"h\"==s.direction){let s,e;if(n=t.y0,h=t.y1,null!=this._radius&&\"data\"==this.model.properties.radius.units)s=i-this.max_radius,e=i+this.max_radius,[r,a]=this.renderer.xscale.r_invert(s,e);else{const t=this.max_size/2;s=i-t,e=i+t,[r,a]=this.renderer.xscale.r_invert(s,e)}}else{let s,i;if(r=t.x0,a=t.x1,null!=this._radius&&\"data\"==this.model.properties.radius.units)s=e-this.max_radius,i=e+this.max_radius,[n,h]=this.renderer.yscale.r_invert(s,i);else{const t=this.max_size/2;s=e-t,i=e+t,[n,h]=this.renderer.yscale.r_invert(s,i)}}const d=[...this.index.indices({x0:r,x1:a,y0:n,y1:h})];return new c.Selection({indices:d})}_hit_rect(s){const{sx0:i,sx1:e,sy0:t,sy1:r}=s,[a,n]=this.renderer.xscale.r_invert(i,e),[h,d]=this.renderer.yscale.r_invert(t,r),l=[...this.index.indices({x0:a,x1:n,y0:h,y1:d})];return new c.Selection({indices:l})}_hit_poly(s){const{sx:i,sy:e}=s,t=l.range(0,this.sx.length),r=[];for(let s=0,a=t.length;s2*t)),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(a),this.visuals_changed=!1),this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[s.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[s.width,s.height]),this.prog.set_attribute(\"a_sx\",\"float\",i.vbo_sx),this.prog.set_attribute(\"a_sy\",\"float\",i.vbo_sy),this.prog.set_attribute(\"a_size\",\"float\",i.vbo_s),this.prog.set_attribute(\"a_angle\",\"float\",i.vbo_a),0!=t.length)if(t.length===a)this.prog.draw(this.gl.POINTS,[0,a]);else if(a<65535){const e=window.navigator.userAgent;e.indexOf(\"MSIE \")+e.indexOf(\"Trident/\")+e.indexOf(\"Edge/\")>0&&n.logger.warn(\"WebGL warning: IE is known to produce 1px sprites whith selections.\"),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer)}else{const e=64e3,s=[];for(let t=0,i=Math.ceil(a/e);t2*t)):this.vbo_s.set_data(0,new Float32Array(this.glyph._size))}_set_visuals(t){u(this.prog,this.vbo_linewidth,\"a_linewidth\",t,this.glyph.visuals.line,\"line_width\"),f(this.prog,this.vbo_fg_color,\"a_fg_color\",t,this.glyph.visuals.line,\"line\"),f(this.prog,this.vbo_bg_color,\"a_bg_color\",t,this.glyph.visuals.fill,\"fill\"),this.prog.set_uniform(\"u_antialias\",\"float\",[.8])}}function b(t){return class extends d{get _marker_code(){return t}}}s.MarkerGL=d,d.__name__=\"MarkerGL\";const c=i.__importStar(t(240));s.AsteriskGL=b(c.asterisk),s.CircleGL=b(c.circle),s.CircleCrossGL=b(c.circlecross),s.CircleXGL=b(c.circlex),s.CrossGL=b(c.cross),s.DiamondGL=b(c.diamond),s.DiamondCrossGL=b(c.diamondcross),s.HexGL=b(c.hex),s.InvertedTriangleGL=b(c.invertedtriangle),s.SquareGL=b(c.square),s.SquareCrossGL=b(c.squarecross),s.SquareXGL=b(c.squarex),s.TriangleGL=b(c.triangle),s.XGL=b(c.x)},\n", + " function _(n,i,a){Object.defineProperty(a,\"__esModule\",{value:!0}),a.vertex_shader=\"\\nprecision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\n//\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform vec2 u_offset;\\nuniform vec2 u_scale;\\nuniform float u_antialias;\\n//\\nattribute float a_sx;\\nattribute float a_sy;\\nattribute float a_size;\\nattribute float a_angle; // in radians\\nattribute float a_linewidth;\\nattribute vec4 a_fg_color;\\nattribute vec4 a_bg_color;\\n//\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec4 v_fg_color;\\nvarying vec4 v_bg_color;\\nvarying vec2 v_rotation;\\n\\nvoid main (void)\\n{\\n v_size = a_size * u_pixel_ratio;\\n v_linewidth = a_linewidth * u_pixel_ratio;\\n v_fg_color = a_fg_color;\\n v_bg_color = a_bg_color;\\n v_rotation = vec2(cos(-a_angle), sin(-a_angle));\\n vec2 pos = vec2(a_sx, a_sy); // in pixels\\n pos += 0.5; // make up for Bokeh's offset\\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(pos*2.0-1.0, 0.0, 1.0);\\n gl_Position.y *= -1.0;\\n gl_PointSize = SQRT_2 * v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\\n}\\n\"},\n", + " function _(a,n,s){Object.defineProperty(s,\"__esModule\",{value:!0}),s.fragment_shader=a=>`\\nprecision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\nconst float PI = 3.14159265358979323846264;\\n//\\nuniform float u_antialias;\\n//\\nvarying vec4 v_fg_color;\\nvarying vec4 v_bg_color;\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec2 v_rotation;\\n\\n${a}\\n\\nvec4 outline(float distance, float linewidth, float antialias, vec4 fg_color, vec4 bg_color)\\n{\\n vec4 frag_color;\\n float t = linewidth/2.0 - antialias;\\n float signed_distance = distance;\\n float border_distance = abs(signed_distance) - t;\\n float alpha = border_distance/antialias;\\n alpha = exp(-alpha*alpha);\\n\\n // If fg alpha is zero, it probably means no outline. To avoid a dark outline\\n // shining through due to aa, we set the fg color to the bg color. Avoid if (i.e. branching).\\n float select = float(bool(fg_color.a));\\n fg_color.rgb = select * fg_color.rgb + (1.0 - select) * bg_color.rgb;\\n // Similarly, if we want a transparent bg\\n select = float(bool(bg_color.a));\\n bg_color.rgb = select * bg_color.rgb + (1.0 - select) * fg_color.rgb;\\n\\n if( border_distance < 0.0)\\n frag_color = fg_color;\\n else if( signed_distance < 0.0 ) {\\n frag_color = mix(bg_color, fg_color, sqrt(alpha));\\n } else {\\n if( abs(signed_distance) < (linewidth/2.0 + antialias) ) {\\n frag_color = vec4(fg_color.rgb, fg_color.a * alpha);\\n } else {\\n discard;\\n }\\n }\\n return frag_color;\\n}\\n\\nvoid main()\\n{\\n vec2 P = gl_PointCoord.xy - vec2(0.5, 0.5);\\n P = vec2(v_rotation.x*P.x - v_rotation.y*P.y,\\n v_rotation.y*P.x + v_rotation.x*P.y);\\n float point_size = SQRT_2*v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\\n float distance = marker(P*point_size, v_size);\\n gl_FragColor = outline(distance, v_linewidth, u_antialias, v_fg_color, v_bg_color);\\n}\\n`,s.circle=\"\\nfloat marker(vec2 P, float size)\\n{\\n return length(P) - size/2.0;\\n}\\n\",s.square=\"\\nfloat marker(vec2 P, float size)\\n{\\n return max(abs(P.x), abs(P.y)) - size/2.0;\\n}\\n\",s.diamond=\"\\nfloat marker(vec2 P, float size)\\n{\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n return r1 / SQRT_2;\\n}\\n\",s.hex=\"\\nfloat marker(vec2 P, float size)\\n{\\n vec2 q = abs(P);\\n return max(q.y * 0.57735 + q.x - 1.0 * size/2.0, q.y - 0.866 * size/2.0);\\n}\\n\",s.triangle=\"\\nfloat marker(vec2 P, float size)\\n{\\n P.y -= size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = P.y;\\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n}\\n\",s.invertedtriangle=\"\\nfloat marker(vec2 P, float size)\\n{\\n P.y += size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = - P.y;\\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n}\\n\",s.cross='\\nfloat marker(vec2 P, float size)\\n{\\n float square = max(abs(P.x), abs(P.y)) - size / 2.5; // 2.5 is a tweak\\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of \"width\" for aa\\n return max(square, cross);\\n}\\n',s.circlecross=\"\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float circle = length(P) - size/2.0;\\n float c1 = max(circle, s1);\\n float c2 = max(circle, s2);\\n float c3 = max(circle, s3);\\n float c4 = max(circle, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.squarecross=\"\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float c1 = max(square, s1);\\n float c2 = max(square, s2);\\n float c3 = max(square, s3);\\n float c4 = max(square, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.diamondcross=\"\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n diamond /= SQRT_2;\\n float c1 = max(diamond, s1);\\n float c2 = max(diamond, s2);\\n float c3 = max(diamond, s3);\\n float c4 = max(diamond, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.x='\\nfloat marker(vec2 P, float size)\\n{\\n float circle = length(P) - size / 1.6;\\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of \"width\" for aa\\n return max(circle, X);\\n}\\n',s.circlex='\\nfloat marker(vec2 P, float size)\\n{\\n float x = P.x - P.y;\\n float y = P.x + P.y;\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float circle = length(P) - size/2.0;\\n float c1 = max(circle, s1);\\n float c2 = max(circle, s2);\\n float c3 = max(circle, s3);\\n float c4 = max(circle, s4);\\n // Union\\n float almost = min(min(min(c1, c2), c3), c4);\\n // In this case, the X is also outside of the main shape\\n float Xmask = length(P) - size / 1.6; // a circle\\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of \"width\" for aa\\n return min(max(X, Xmask), almost);\\n}\\n',s.squarex=\"\\nfloat marker(vec2 P, float size)\\n{\\n float x = P.x - P.y;\\n float y = P.x + P.y;\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float c1 = max(square, s1);\\n float c2 = max(square, s2);\\n float c3 = max(square, s3);\\n float c4 = max(square, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.asterisk='\\nfloat marker(vec2 P, float size)\\n{\\n // Masks\\n float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / (2.0 * SQRT_2);\\n float square = max(abs(P.x), abs(P.y)) - size / (2.0 * SQRT_2);\\n // Shapes\\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of \"width\" for aa\\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of \"width\" for aa\\n // Result is union of masked shapes\\n return min(max(X, diamond), max(cross, square));\\n}\\n'},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const a=e(1),i=e(93),l=e(28),s=a.__importStar(e(18));class c extends i.XYGlyphView{}n.CenterRotatableView=c,c.__name__=\"CenterRotatableView\";class o extends i.XYGlyph{constructor(e){super(e)}static init_CenterRotatable(){this.mixins([l.LineVector,l.FillVector]),this.define({angle:[s.AngleSpec,0],width:[s.DistanceSpec],height:[s.DistanceSpec]})}}n.CenterRotatable=o,o.__name__=\"CenterRotatable\",o.init_CenterRotatable()},\n", + " function _(e,l,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(243);class t extends s.EllipseOvalView{}i.EllipseView=t,t.__name__=\"EllipseView\";class _ extends s.EllipseOval{constructor(e){super(e)}static init_Ellipse(){this.prototype.default_view=t}}i.Ellipse=_,_.__name__=\"Ellipse\",_.init_Ellipse()},\n", + " function _(t,s,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(1),h=t(241),a=e.__importStar(t(101)),r=t(88);class n extends h.CenterRotatableView{_set_data(){this.max_w2=0,\"data\"==this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"==this.model.properties.height.units&&(this.max_h2=this.max_height/2)}_map_data(){\"data\"==this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"):this.sw=this._width,\"data\"==this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"):this.sh=this._height}_render(t,s,{sx:i,sy:e,sw:h,sh:a,_angle:r}){for(const n of s)isNaN(i[n]+e[n]+h[n]+a[n]+r[n])||(t.beginPath(),t.ellipse(i[n],e[n],h[n]/2,a[n]/2,r[n],0,2*Math.PI),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,n),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,n),t.stroke()))}_hit_point(t){let s,i,e,h,n,_,l,d,o;const{sx:x,sy:m}=t,w=this.renderer.xscale.invert(x),c=this.renderer.yscale.invert(m);\"data\"==this.model.properties.width.units?(s=w-this.max_width,i=w+this.max_width):(_=x-this.max_width,l=x+this.max_width,[s,i]=this.renderer.xscale.r_invert(_,l)),\"data\"==this.model.properties.height.units?(e=c-this.max_height,h=c+this.max_height):(d=m-this.max_height,o=m+this.max_height,[e,h]=this.renderer.yscale.r_invert(d,o));const p=this.index.indices({x0:s,x1:i,y0:e,y1:h}),y=[];for(const t of p)n=a.point_in_ellipse(x,m,this._angle[t],this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),n&&y.push(t);return new r.Selection({indices:y})}draw_legend_for_index(t,{x0:s,y0:i,x1:e,y1:h},a){const r=a+1,n=new Array(r);n[a]=(s+e)/2;const _=new Array(r);_[a]=(i+h)/2;const l=this.sw[a]/this.sh[a],d=.8*Math.min(Math.abs(e-s),Math.abs(h-i)),o=new Array(r),x=new Array(r);l>1?(o[a]=d,x[a]=d/l):(o[a]=d*l,x[a]=d),this._render(t,[a],{sx:n,sy:_,sw:o,sh:x,_angle:[0]})}_bounds({x0:t,x1:s,y0:i,y1:e}){return{x0:t-this.max_w2,x1:s+this.max_w2,y0:i-this.max_h2,y1:e+this.max_h2}}}i.EllipseOvalView=n,n.__name__=\"EllipseOvalView\";class _ extends h.CenterRotatable{constructor(t){super(t)}}i.EllipseOval=_,_.__name__=\"EllipseOval\"},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),h=t(245),r=t(24),_=i.__importStar(t(18));class a extends h.BoxView{scenterxy(t){return[(this.sleft[t]+this.sright[t])/2,this.sy[t]]}_lrtb(t){return[Math.min(this._left[t],this._right[t]),Math.max(this._left[t],this._right[t]),this._y[t]+.5*this._height[t],this._y[t]-.5*this._height[t]]}_map_data(){this.sy=this.renderer.yscale.v_compute(this._y),this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"),this.sleft=this.renderer.xscale.v_compute(this._left),this.sright=this.renderer.xscale.v_compute(this._right);const t=this.sy.length;this.stop=new r.NumberArray(t),this.sbottom=new r.NumberArray(t);for(let e=0;e{t.beginPath(),t.rect(i[a],r[a],s[a]-i[a],n[a]-r[a]),t.fill()},()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,a),t.beginPath(),t.rect(i[a],r[a],s[a]-i[a],n[a]-r[a]),t.stroke()))}_clamp_viewport(){const t=this.renderer.plot_view.frame.bbox.h_range,e=this.renderer.plot_view.frame.bbox.v_range,i=this.stop.length;for(let s=0;sthis._update_image())}_update_image(){null!=this.image_data&&(this._set_data(null),this.renderer.plot_view.request_render())}_flat_img_to_buf8(e){return this.model.color_mapper.rgba_mapper.v_compute(e)}}a.ImageView=r,r.__name__=\"ImageView\";class o extends i.ImageBase{constructor(e){super(e)}static init_Image(){this.prototype.default_view=r,this.define({color_mapper:[s.Instance,()=>new n.LinearColorMapper({palette:[\"#000000\",\"#252525\",\"#525252\",\"#737373\",\"#969696\",\"#bdbdbd\",\"#d9d9d9\",\"#f0f0f0\",\"#ffffff\"]})]})}}a.Image=o,o.__name__=\"Image\",o.init_Image()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),a=e(93),h=e(24),_=i.__importStar(e(18)),n=e(88),r=e(9),d=e(30),l=e(11);class g extends a.XYGlyphView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,()=>this.renderer.request_render())}_render(e,t,{image_data:s,sx:i,sy:a,sw:h,sh:_}){const n=e.getImageSmoothingEnabled();e.setImageSmoothingEnabled(!1),e.globalAlpha=this.model.global_alpha;for(const n of t){if(null==s[n]||isNaN(i[n]+a[n]+h[n]+_[n]))continue;const t=a[n];e.translate(0,t),e.scale(1,-1),e.translate(0,-t),e.drawImage(s[n],0|i[n],0|a[n],h[n],_[n]),e.translate(0,t),e.scale(1,-1),e.translate(0,-t)}e.setImageSmoothingEnabled(n)}_set_data(e){this._set_width_heigh_data();for(let t=0,s=this._image.length;tthis.renderer.request_render())}_index_data(e){const{data_size:t}=this;for(let s=0;snull));const{retry_attempts:e,retry_timeout:t}=this.model;for(let s=0,r=this._url.length;s{this.image[s]=e,this.renderer.request_render()},attempts:e+1,timeout:t})}const s=\"data\"==this.model.properties.w.units,r=\"data\"==this.model.properties.h.units,i=this._x.length,n=new a.NumberArray(s?2*i:i),_=new a.NumberArray(r?2*i:i),{anchor:c}=this.model;function l(e,t){switch(c){case\"top_left\":case\"bottom_left\":case\"center_left\":return[e,e+t];case\"top_center\":case\"bottom_center\":case\"center\":return[e-t/2,e+t/2];case\"top_right\":case\"bottom_right\":case\"center_right\":return[e-t,e]}}function d(e,t){switch(c){case\"top_left\":case\"top_center\":case\"top_right\":return[e,e-t];case\"bottom_left\":case\"bottom_center\":case\"bottom_right\":return[e+t,e];case\"center_left\":case\"center\":case\"center_right\":return[e+t/2,e-t/2]}}if(s)for(let e=0;eNaN),t=null!=this.model.h?this._h:h.map(this._x,()=>NaN);switch(this.model.properties.w.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,e,\"edge\",this.model.dilate);break;case\"screen\":this.sw=e}switch(this.model.properties.h.units){case\"data\":this.sh=this.sdist(this.renderer.yscale,this._y,t,\"edge\",this.model.dilate);break;case\"screen\":this.sh=t}}_render(e,t,{image:s,sx:r,sy:i,sw:a,sh:n,_angle:h}){const{frame:o}=this.renderer.plot_view;e.rect(o.bbox.left+1,o.bbox.top+1,o.bbox.width-2,o.bbox.height-2),e.clip();let _=!0;for(const o of t){if(isNaN(r[o]+i[o]+h[o]))continue;const t=s[o];null!=t?this._render_image(e,o,t,r,i,a,n,h):_=!1}_&&!this._images_rendered&&(this._images_rendered=!0,this.notify_finished())}_final_sx_sy(e,t,s,r,i){switch(e){case\"top_left\":return[t,s];case\"top_center\":return[t-r/2,s];case\"top_right\":return[t-r,s];case\"center_right\":return[t-r,s-i/2];case\"bottom_right\":return[t-r,s-i];case\"bottom_center\":return[t-r/2,s-i];case\"bottom_left\":return[t,s-i];case\"center_left\":return[t,s-i/2];case\"center\":return[t-r/2,s-i/2]}}_render_image(e,t,s,r,i,a,n,h){isNaN(a[t])&&(a[t]=s.width),isNaN(n[t])&&(n[t]=s.height);const{anchor:o}=this.model,[_,c]=this._final_sx_sy(o,r[t],i[t],a[t],n[t]);e.save(),e.globalAlpha=this.model.global_alpha;const l=a[t]/2,d=n[t]/2;h[t]?(e.translate(_,c),e.translate(l,d),e.rotate(h[t]),e.translate(-l,-d),e.drawImage(s,0,0,a[t],n[t]),e.translate(l,d),e.rotate(-h[t]),e.translate(-l,-d),e.translate(-_,-c)):e.drawImage(s,_,c,a[t],n[t]),e.restore()}bounds(){return this._bounds_rect}}s.ImageURLView=_,_.__name__=\"ImageURLView\";class c extends i.XYGlyph{constructor(e){super(e)}static init_ImageURL(){this.prototype.default_view=_,this.define({url:[n.StringSpec],anchor:[n.Anchor,\"top_left\"],global_alpha:[n.Number,1],angle:[n.AngleSpec,0],w:[n.DistanceSpec],h:[n.DistanceSpec],dilate:[n.Boolean,!1],retry_attempts:[n.Number,0],retry_timeout:[n.Number,0]})}}s.ImageURL=c,c.__name__=\"ImageURL\",c.init_ImageURL()},\n", + " function _(i,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=i(19);class a{constructor(i,e={}){this._image=new Image,this._finished=!1;const{attempts:t=1,timeout:a=1}=e;this.promise=new Promise((o,n)=>{this._image.crossOrigin=\"anonymous\";let r=0;this._image.onerror=()=>{if(++r==t){const a=`unable to load ${i} image after ${t} attempts`;if(s.logger.warn(a),null==this._image.crossOrigin)return void(null!=e.failed&&e.failed());s.logger.warn(`attempting to load ${i} without a cross origin policy`),this._image.crossOrigin=null,r=0}setTimeout(()=>this._image.src=i,a)},this._image.onload=()=>{this._finished=!0,null!=e.loaded&&e.loaded(this._image),o(this._image)},this._image.src=i})}get finished(){return this._finished}get image(){return this._image}}t.ImageLoader=a,a.__name__=\"ImageLoader\"},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(37),o=e(28),l=s.__importStar(e(101)),r=s.__importStar(e(18)),_=e(12),c=e(13),a=e(94),h=e(100),d=e(88);class y extends a.GlyphView{_project_data(){n.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let i=0;i0&&o.set(e,i)}return new d.Selection({indices:[...o.keys()],multiline_indices:c.to_object(o)})}get_interpolation_hit(e,t,i){const s=this._xs.get(e),n=this._ys.get(e),o=s[t],l=n[t],r=s[t+1],_=n[t+1];return h.line_interpolation(this.renderer,i,o,l,r,_)}draw_legend_for_index(e,t,i){h.generic_line_legend(this.visuals,e,t,i)}scenterxy(){throw new Error(this+\".scenterxy() is not implemented\")}}i.MultiLineView=y,y.__name__=\"MultiLineView\";class x extends a.Glyph{constructor(e){super(e)}static init_MultiLine(){this.prototype.default_view=y,this.define({xs:[r.XCoordinateSeqSpec,{field:\"xs\"}],ys:[r.YCoordinateSeqSpec,{field:\"ys\"}]}),this.mixins(o.LineVector)}}i.MultiLine=x,x.__name__=\"MultiLine\",x.init_MultiLine()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),n=e(95),o=e(94),r=e(100),l=e(12),h=e(12),_=e(28),a=i.__importStar(e(101)),d=i.__importStar(e(18)),c=e(88),x=e(11);class y extends o.GlyphView{_project_data(){}_index_data(e){const{min:t,max:s}=Math,{data_size:i}=this;for(let n=0;n1&&d.length>1)for(let s=1,i=n.length;s{this._inner_loop(e,t,o),e.fill(\"evenodd\")},()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,n),this._inner_loop(e,t,o),e.stroke())}}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,o=[t,s,s,t],r=[i,i,n,n],[l,h]=this.renderer.xscale.r_invert(t,s),[_,d]=this.renderer.yscale.r_invert(i,n),x=this.index.indices({x0:l,x1:h,y0:_,y1:d}),y=[];for(const e of x){const t=this.sxs[e],s=this.sys[e];let i=!0;for(let e=0,n=t.length;e1){let r=!1;for(let e=1;ethis._inner_loop(e,t,r,e.fill),()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,n),this._inner_loop(e,t,r,e.stroke))}}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,r=[t,s,s,t],o=[i,i,n,n],[a,c]=this.renderer.xscale.r_invert(t,s),[h,d]=this.renderer.yscale.r_invert(i,n),y=this.index.indices({x0:a,x1:c,y0:h,y1:d}),p=[];for(const e of y){const t=this.sxs.get(e),s=this.sys.get(e);let i=!0;for(let e=0,n=t.length;e1&&(e.stroke(),s=!1)}s?(e.lineTo(t,a),e.lineTo(l,_)):(e.beginPath(),e.moveTo(i[r],n[r]),s=!0),o=r}e.lineTo(i[r-1],n[r-1]),e.stroke()}}draw_legend_for_index(e,t,i){o.generic_line_legend(this.visuals,e,t,i)}}i.StepView=a,a.__name__=\"StepView\";class _ extends s.XYGlyph{constructor(e){super(e)}static init_Step(){this.prototype.default_view=a,this.mixins(r.LineVector),this.define({mode:[l.StepMode,\"before\"]})}}i.Step=_,_.__name__=\"Step\",_.init_Step()},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(1),n=t(93),_=t(28),o=i.__importStar(t(101)),h=i.__importStar(t(18)),l=t(159),a=t(11),r=t(88);class c extends n.XYGlyphView{_rotate_point(t,s,e,i,n){return[(t-e)*Math.cos(n)-(s-i)*Math.sin(n)+e,(t-e)*Math.sin(n)+(s-i)*Math.cos(n)+i]}_text_bounds(t,s,e,i){return[[t,t+e,t+e,t,t],[s,s,s-i,s-i,s]]}_render(t,s,{sx:e,sy:i,_x_offset:n,_y_offset:_,_angle:o,_text:h}){this._sys=[],this._sxs=[];for(const a of s)if(this._sxs[a]=[],this._sys[a]=[],!isNaN(e[a]+i[a]+n[a]+_[a]+o[a])&&null!=h[a]&&this.visuals.text.doit){const s=\"\"+h[a];t.save(),t.translate(e[a]+n[a],i[a]+_[a]),t.rotate(o[a]),this.visuals.text.set_vectorize(t,a);const r=this.visuals.text.cache_select(\"font\",a),{height:c}=l.measure_font(r),x=this.visuals.text.text_line_height.value()*c;if(-1==s.indexOf(\"\\n\")){t.fillText(s,0,0);const o=e[a]+n[a],h=i[a]+_[a],l=t.measureText(s).width,[r,c]=this._text_bounds(o,h,l,x);this._sxs[a].push(r),this._sys[a].push(c)}else{const o=s.split(\"\\n\"),h=x*o.length,l=this.visuals.text.cache_select(\"text_baseline\",a);let r;switch(l){case\"top\":r=0;break;case\"middle\":r=-h/2+x/2;break;case\"bottom\":r=-h+x;break;default:r=0,console.warn(`'${l}' baseline not supported with multi line text`)}for(const s of o){t.fillText(s,0,r);const o=e[a]+n[a],h=r+i[a]+_[a],l=t.measureText(s).width,[c,u]=this._text_bounds(o,h,l,x);this._sxs[a].push(c),this._sys[a].push(u),r+=x}}t.restore()}}_hit_point(t){const{sx:s,sy:e}=t,i=[];for(let t=0;tthis.request_render())}_draw_regions(i){if(!this.visuals.band_fill.doit&&!this.visuals.band_hatch.doit)return;this.visuals.band_fill.set_value(i);const[e,t]=this.grid_coords(\"major\",!1);for(let s=0;s{i.fillRect(n[0],r[0],o[1]-n[0],d[1]-r[0])},()=>this.request_render())}}_draw_grids(i){if(!this.visuals.grid_line.doit)return;const[e,t]=this.grid_coords(\"major\");this._draw_grid_helper(i,this.visuals.grid_line,e,t)}_draw_minor_grids(i){if(!this.visuals.minor_grid_line.doit)return;const[e,t]=this.grid_coords(\"minor\");this._draw_grid_helper(i,this.visuals.minor_grid_line,e,t)}_draw_grid_helper(i,e,t,s){e.set_value(i),i.beginPath();for(let e=0;et[1]&&(n=t[1]);else{[s,n]=t;for(const i of this.plot_view.axis_views)i.dimension==this.model.dimension&&i.model.x_range_name==this.model.x_range_name&&i.model.y_range_name==this.model.y_range_name&&([s,n]=i.computed_bounds)}return[s,n]}grid_coords(i,e=!0){const t=this.model.dimension,s=(t+1)%2,[n,r]=this.ranges();let[o,d]=this.computed_bounds();[o,d]=[Math.min(o,d),Math.max(o,d)];const _=[[],[]],a=this.model.get_ticker();if(null==a)return _;const l=a.get_ticks(o,d,n,r.min,{})[i],h=n.min,c=n.max,u=r.min,m=r.max;e||(l[0]!=h&&l.splice(0,0,h),l[l.length-1]!=c&&l.push(c));for(let i=0;ithis.rebuild())}get child_models(){return this.model.children}}i.BoxView=c,c.__name__=\"BoxView\";class r extends s.LayoutDOM{constructor(e){super(e)}static init_Box(){this.define({children:[o.Array,[]],spacing:[o.Number,0]})}}i.Box=r,r.__name__=\"Box\",r.init_Box()},\n", + " function _(i,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=i(81),o=i(20),l=i(72),n=i(19),h=i(8),a=i(115),r=i(78),_=i(212),d=i(273),c=i(77);class u extends r.DOMView{constructor(){super(...arguments),this._idle_notified=!1,this._offset_parent=null,this._viewport={}}initialize(){super.initialize(),this.el.style.position=this.is_root?\"relative\":\"absolute\",this._child_views=new Map}async lazy_initialize(){await this.build_child_views()}remove(){for(const i of this.child_views)i.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.is_root&&(this._on_resize=()=>this.resize_layout(),window.addEventListener(\"resize\",this._on_resize),this._parent_observer=setInterval(()=>{const i=this.el.offsetParent;this._offset_parent!=i&&(this._offset_parent=i,null!=i&&(this.compute_viewport(),this.invalidate_layout()))},250));const i=this.model.properties;this.on_change([i.width,i.height,i.min_width,i.min_height,i.max_width,i.max_height,i.margin,i.width_policy,i.height_policy,i.sizing_mode,i.aspect_ratio,i.visible],()=>this.invalidate_layout()),this.on_change([i.background,i.css_classes],()=>this.invalidate_render())}disconnect_signals(){null!=this._parent_observer&&clearTimeout(this._parent_observer),null!=this._on_resize&&window.removeEventListener(\"resize\",this._on_resize),super.disconnect_signals()}css_classes(){return super.css_classes().concat(this.model.css_classes)}get child_views(){return this.child_models.map(i=>this._child_views.get(i))}async build_child_views(){await a.build_views(this._child_views,this.child_models,{parent:this})}render(){super.render(),l.empty(this.el);const{background:i}=this.model;this.el.style.backgroundColor=null!=i?i:\"\",l.classes(this.el).clear().add(...this.css_classes());for(const i of this.child_views)this.el.appendChild(i.el),i.render()}update_layout(){for(const i of this.child_views)i.update_layout();this._update_layout()}update_position(){this.el.style.display=this.model.visible?\"block\":\"none\";const i=this.is_root?this.layout.sizing.margin:void 0;l.position(this.el,this.layout.bbox,i);for(const i of this.child_views)i.update_position()}after_layout(){for(const i of this.child_views)i.after_layout();this._has_finished=!0}compute_viewport(){this._viewport=this._viewport_size()}renderTo(i){i.appendChild(this.el),this._offset_parent=this.el.offsetParent,this.compute_viewport(),this.build()}build(){return this.assert_root(),this.render(),this.update_layout(),this.compute_layout(),this}async rebuild(){await this.build_child_views(),this.invalidate_render()}compute_layout(){const i=Date.now();this.layout.compute(this._viewport),this.update_position(),this.after_layout(),n.logger.debug(`layout computed in ${Date.now()-i} ms`),this.notify_finished()}resize_layout(){this.root.compute_viewport(),this.root.compute_layout()}invalidate_layout(){this.root.update_layout(),this.root.compute_layout()}invalidate_render(){this.render(),this.invalidate_layout()}has_finished(){if(!super.has_finished())return!1;for(const i of this.child_views)if(!i.has_finished())return!1;return!0}notify_finished(){this.is_root?!this._idle_notified&&this.has_finished()&&null!=this.model.document&&(this._idle_notified=!0,this.model.document.notify_idle(this.model)):this.root.notify_finished()}_width_policy(){return null!=this.model.width?\"fixed\":\"fit\"}_height_policy(){return null!=this.model.height?\"fixed\":\"fit\"}box_sizing(){let{width_policy:i,height_policy:t,aspect_ratio:e}=this.model;\"auto\"==i&&(i=this._width_policy()),\"auto\"==t&&(t=this._height_policy());const{sizing_mode:s}=this.model;if(null!=s)if(\"fixed\"==s)i=t=\"fixed\";else if(\"stretch_both\"==s)i=t=\"max\";else if(\"stretch_width\"==s)i=\"max\";else if(\"stretch_height\"==s)t=\"max\";else switch(null==e&&(e=\"auto\"),s){case\"scale_width\":i=\"max\",t=\"min\";break;case\"scale_height\":i=\"min\",t=\"max\";break;case\"scale_both\":i=\"max\",t=\"max\"}const o={width_policy:i,height_policy:t},{min_width:l,min_height:n}=this.model;null!=l&&(o.min_width=l),null!=n&&(o.min_height=n);const{width:a,height:r}=this.model;null!=a&&(o.width=a),null!=r&&(o.height=r);const{max_width:_,max_height:d}=this.model;null!=_&&(o.max_width=_),null!=d&&(o.max_height=d),\"auto\"==e&&null!=a&&null!=r?o.aspect=a/r:h.isNumber(e)&&(o.aspect=e);const{margin:c}=this.model;if(null!=c)if(h.isNumber(c))o.margin={top:c,right:c,bottom:c,left:c};else if(2==c.length){const[i,t]=c;o.margin={top:i,right:t,bottom:i,left:t}}else{const[i,t,e,s]=c;o.margin={top:i,right:t,bottom:e,left:s}}o.visible=this.model.visible;const{align:u}=this.model;return h.isArray(u)?[o.halign,o.valign]=u:o.halign=o.valign=u,o}_viewport_size(){return l.undisplayed(this.el,()=>{let i=this.el;for(;i=i.parentElement;){if(i.classList.contains(d.bk_root))continue;if(i==document.body){const{margin:{left:i,right:t,top:e,bottom:s}}=l.extents(document.body);return{width:Math.ceil(document.documentElement.clientWidth-i-t),height:Math.ceil(document.documentElement.clientHeight-e-s)}}const{padding:{left:t,right:e,top:s,bottom:o}}=l.extents(i),{width:n,height:h}=i.getBoundingClientRect(),a=Math.ceil(n-t-e),r=Math.ceil(h-s-o);if(a>0||r>0)return{width:a>0?a:void 0,height:r>0?r:void 0}}return{}})}export(i,t=!0){const e=\"png\"==i?\"canvas\":\"svg\",s=new c.CanvasLayer(e,t),{width:o,height:l}=this.layout.bbox;s.resize(o,l);for(const e of this.child_views){const o=e.export(i,t),{x:l,y:n}=e.layout.bbox;s.ctx.drawImage(o.canvas,l,n)}return s}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box,children:this.child_views.map(i=>i.serializable_state())})}}e.LayoutDOMView=u,u.__name__=\"LayoutDOMView\";class m extends s.Model{constructor(i){super(i)}static init_LayoutDOM(){this.define(i=>{const{Boolean:t,Number:e,String:s,Null:l,Auto:n,Color:h,Array:a,Tuple:r,Or:d}=i,c=r(e,e),u=r(e,e,e,e);return{width:[d(e,l),null],height:[d(e,l),null],min_width:[d(e,l),null],min_height:[d(e,l),null],max_width:[d(e,l),null],max_height:[d(e,l),null],margin:[d(e,c,u),[0,0,0,0]],width_policy:[d(_.SizingPolicy,n),\"auto\"],height_policy:[d(_.SizingPolicy,n),\"auto\"],aspect_ratio:[d(e,n,l),null],sizing_mode:[d(o.SizingMode,l),null],visible:[t,!0],disabled:[t,!1],align:[d(o.Align,r(o.Align,o.Align)),\"start\"],background:[d(h,l),null],css_classes:[a(s),[]]}})}}e.LayoutDOM=m,m.__name__=\"LayoutDOM\",m.init_LayoutDOM()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bk_root=\"bk-root\"},\n", + " function _(t,o,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),e=t(271),n=t(216),l=s.__importStar(t(18));class u extends e.BoxView{_update_layout(){const t=this.child_views.map(t=>t.layout);this.layout=new n.Column(t),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}}i.ColumnView=u,u.__name__=\"ColumnView\";class _ extends e.Box{constructor(t){super(t)}static init_Column(){this.prototype.default_view=u,this.define({rows:[l.Any,\"auto\"]})}}i.Column=_,_.__name__=\"Column\",_.init_Column()},\n", + " function _(t,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=t(1),e=t(272),n=t(216),l=o.__importStar(t(18));class r extends e.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,()=>this.rebuild())}get child_models(){return this.model.children.map(([t])=>t)}_update_layout(){this.layout=new n.Grid,this.layout.rows=this.model.rows,this.layout.cols=this.model.cols,this.layout.spacing=this.model.spacing;for(const[t,i,s,o,e]of this.model.children){const n=this._child_views.get(t);this.layout.items.push({layout:n.layout,row:i,col:s,row_span:o,col_span:e})}this.layout.set_sizing(this.box_sizing())}}s.GridBoxView=r,r.__name__=\"GridBoxView\";class a extends e.LayoutDOM{constructor(t){super(t)}static init_GridBox(){this.prototype.default_view=r,this.define({children:[l.Array,[]],rows:[l.Any,\"auto\"],cols:[l.Any,\"auto\"],spacing:[l.Any,0]})}}s.GridBox=a,a.__name__=\"GridBox\",a.init_GridBox()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(272),_=e(212);class n extends s.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new _.ContentBox(this.el),this.layout.set_sizing(this.box_sizing())}}o.HTMLBoxView=n,n.__name__=\"HTMLBoxView\";class i extends s.LayoutDOM{constructor(e){super(e)}}o.HTMLBox=i,i.__name__=\"HTMLBox\"},\n", + " function _(t,o,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),e=t(271),_=t(216),a=s.__importStar(t(18));class n extends e.BoxView{_update_layout(){const t=this.child_views.map(t=>t.layout);this.layout=new _.Row(t),this.layout.cols=this.model.cols,this.layout.spacing=[0,this.model.spacing],this.layout.set_sizing(this.box_sizing())}}i.RowView=n,n.__name__=\"RowView\";class l extends e.Box{constructor(t){super(t)}static init_Row(){this.prototype.default_view=n,this.define({cols:[a.Any,\"auto\"]})}}i.Row=l,l.__name__=\"Row\",l.init_Row()},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const i=e(272),s=e(212);class _ extends i.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new s.LayoutItem,this.layout.set_sizing(this.box_sizing())}}a.SpacerView=_,_.__name__=\"SpacerView\";class o extends i.LayoutDOM{constructor(e){super(e)}static init_Spacer(){this.prototype.default_view=_}}a.Spacer=o,o.__name__=\"Spacer\",o.init_Spacer()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),a=e(212),l=e(72),h=e(9),o=i.__importStar(e(18)),c=e(272),d=e(81),r=e(173),n=e(280),_=e(281),b=e(282),p=i.__importDefault(e(283)),u=i.__importDefault(e(284)),m=i.__importDefault(e(285));class v extends c.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.tabs.change,()=>this.rebuild()),this.connect(this.model.properties.active.change,()=>this.on_active_change())}styles(){return[...super.styles(),p.default,u.default,m.default]}get child_models(){return this.model.tabs.map(e=>e.child)}_update_layout(){const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,{scroll_el:s,headers_el:i}=this;this.header=new class extends a.ContentBox{_measure(e){const a=l.size(s),o=l.children(i).slice(0,3).map(e=>l.size(e)),{width:c,height:d}=super._measure(e);if(t){const t=a.width+h.sum(o.map(e=>e.width));return{width:e.width!=1/0?e.width:t,height:d}}{const t=a.height+h.sum(o.map(e=>e.height));return{width:c,height:e.height!=1/0?e.height:t}}}}(this.header_el),t?this.header.set_sizing({width_policy:\"fit\",height_policy:\"fixed\"}):this.header.set_sizing({width_policy:\"fixed\",height_policy:\"fit\"});let o=1,c=1;switch(e){case\"above\":o-=1;break;case\"below\":o+=1;break;case\"left\":c-=1;break;case\"right\":c+=1}const d={layout:this.header,row:o,col:c},r=this.child_views.map(e=>({layout:e.layout,row:1,col:1}));this.layout=new a.Grid([d,...r]),this.layout.set_sizing(this.box_sizing())}update_position(){super.update_position(),this.header_el.style.position=\"absolute\",l.position(this.header_el,this.header.bbox);const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,s=l.size(this.scroll_el),i=l.scroll_size(this.headers_el);if(t){const{width:e}=this.header.bbox;i.width>e?(this.wrapper_el.style.maxWidth=e-s.width+\"px\",l.display(this.scroll_el)):(this.wrapper_el.style.maxWidth=\"\",l.undisplay(this.scroll_el))}else{const{height:e}=this.header.bbox;i.height>e?(this.wrapper_el.style.maxHeight=e-s.height+\"px\",l.display(this.scroll_el)):(this.wrapper_el.style.maxHeight=\"\",l.undisplay(this.scroll_el))}const{child_views:a}=this;for(const e of a)l.hide(e.el);const h=a[this.model.active];null!=h&&l.show(h.el)}render(){super.render();const{active:e}=this.model,t=this.model.tabs_location,s=\"above\"==t||\"below\"==t,i=this.model.tabs.map((t,s)=>{const i=l.div({class:[n.bk_tab,s==e?r.bk_active:null]},t.title);if(i.addEventListener(\"click\",e=>{e.target==e.currentTarget&&this.change_active(s)}),t.closable){const e=l.div({class:n.bk_close});e.addEventListener(\"click\",e=>{if(e.target==e.currentTarget){this.model.tabs=h.remove_at(this.model.tabs,s);const e=this.model.tabs.length;this.model.active>e-1&&(this.model.active=e-1)}}),i.appendChild(e)}return i});this.headers_el=l.div({class:[n.bk_headers]},i),this.wrapper_el=l.div({class:n.bk_headers_wrapper},this.headers_el);const a=l.div({class:[_.bk_btn,_.bk_btn_default],disabled:\"\"},l.div({class:[b.bk_caret,r.bk_left]})),o=l.div({class:[_.bk_btn,_.bk_btn_default]},l.div({class:[b.bk_caret,r.bk_right]}));let c=0;const d=e=>()=>{const t=this.model.tabs.length;c=\"left\"==e?Math.max(c-1,0):Math.min(c+1,t-1),0==c?a.setAttribute(\"disabled\",\"\"):a.removeAttribute(\"disabled\"),c==t-1?o.setAttribute(\"disabled\",\"\"):o.removeAttribute(\"disabled\");const i=l.children(this.headers_el).slice(0,c).map(e=>e.getBoundingClientRect());if(s){const e=-h.sum(i.map(e=>e.width));this.headers_el.style.left=e+\"px\"}else{const e=-h.sum(i.map(e=>e.height));this.headers_el.style.top=e+\"px\"}};a.addEventListener(\"click\",d(\"left\")),o.addEventListener(\"click\",d(\"right\")),this.scroll_el=l.div({class:_.bk_btn_group},a,o),this.header_el=l.div({class:[n.bk_tabs_header,r.bk_side(t)]},this.scroll_el,this.wrapper_el),this.el.appendChild(this.header_el)}change_active(e){e!=this.model.active&&(this.model.active=e)}on_active_change(){const e=this.model.active,t=l.children(this.headers_el);for(const e of t)e.classList.remove(r.bk_active);t[e].classList.add(r.bk_active);const{child_views:s}=this;for(const e of s)l.hide(e.el);l.show(s[e].el)}}s.TabsView=v,v.__name__=\"TabsView\";class g extends c.LayoutDOM{constructor(e){super(e)}static init_Tabs(){this.prototype.default_view=v,this.define({tabs:[o.Array,[]],tabs_location:[o.Location,\"above\"],active:[o.Number,0]})}}s.Tabs=g,g.__name__=\"Tabs\",g.init_Tabs();class w extends d.Model{constructor(e){super(e)}static init_Panel(){this.define({title:[o.String,\"\"],child:[o.Instance],closable:[o.Boolean,!1]})}}s.Panel=w,w.__name__=\"Panel\",w.init_Panel()},\n", + " function _(e,b,a){Object.defineProperty(a,\"__esModule\",{value:!0}),a.bk_tabs_header=\"bk-tabs-header\",a.bk_headers_wrapper=\"bk-headers-wrapper\",a.bk_headers=\"bk-headers\",a.bk_tab=\"bk-tab\",a.bk_close=\"bk-close\"},\n", + " function _(n,b,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bk_btn=\"bk-btn\",t.bk_btn_group=\"bk-btn-group\",t.bk_btn_default=\"bk-btn-default\",t.bk_btn_primary=\"bk-btn-primary\",t.bk_btn_success=\"bk-btn-success\",t.bk_btn_warning=\"bk-btn-warning\",t.bk_btn_danger=\"bk-btn-danger\",t.bk_btn_type=function(n){switch(n){case\"default\":return t.bk_btn_default;case\"primary\":return t.bk_btn_primary;case\"success\":return t.bk_btn_success;case\"warning\":return t.bk_btn_warning;case\"danger\":return t.bk_btn_danger}},t.bk_dropdown_toggle=\"bk-dropdown-toggle\"},\n", + " function _(e,b,d){Object.defineProperty(d,\"__esModule\",{value:!0}),d.bk_menu=\"bk-menu\",d.bk_caret=\"bk-caret\",d.bk_divider=\"bk-divider\"},\n", + " function _(n,o,b){Object.defineProperty(b,\"__esModule\",{value:!0});b.default=\"\\n.bk-root .bk-btn {\\n height: 100%;\\n display: inline-block;\\n text-align: center;\\n vertical-align: middle;\\n white-space: nowrap;\\n cursor: pointer;\\n padding: 6px 12px;\\n font-size: 12px;\\n border: 1px solid transparent;\\n border-radius: 4px;\\n outline: 0;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n.bk-root .bk-btn:hover,\\n.bk-root .bk-btn:focus {\\n text-decoration: none;\\n}\\n.bk-root .bk-btn:active,\\n.bk-root .bk-btn.bk-active {\\n background-image: none;\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n}\\n.bk-root .bk-btn[disabled] {\\n cursor: not-allowed;\\n pointer-events: none;\\n opacity: 0.65;\\n box-shadow: none;\\n}\\n.bk-root .bk-btn-default {\\n color: #333;\\n background-color: #fff;\\n border-color: #ccc;\\n}\\n.bk-root .bk-btn-default:hover {\\n background-color: #f5f5f5;\\n border-color: #b8b8b8;\\n}\\n.bk-root .bk-btn-default.bk-active {\\n background-color: #ebebeb;\\n border-color: #adadad;\\n}\\n.bk-root .bk-btn-default[disabled],\\n.bk-root .bk-btn-default[disabled]:hover,\\n.bk-root .bk-btn-default[disabled]:focus,\\n.bk-root .bk-btn-default[disabled]:active,\\n.bk-root .bk-btn-default[disabled].bk-active {\\n background-color: #e6e6e6;\\n border-color: #ccc;\\n}\\n.bk-root .bk-btn-primary {\\n color: #fff;\\n background-color: #428bca;\\n border-color: #357ebd;\\n}\\n.bk-root .bk-btn-primary:hover {\\n background-color: #3681c1;\\n border-color: #2c699e;\\n}\\n.bk-root .bk-btn-primary.bk-active {\\n background-color: #3276b1;\\n border-color: #285e8e;\\n}\\n.bk-root .bk-btn-primary[disabled],\\n.bk-root .bk-btn-primary[disabled]:hover,\\n.bk-root .bk-btn-primary[disabled]:focus,\\n.bk-root .bk-btn-primary[disabled]:active,\\n.bk-root .bk-btn-primary[disabled].bk-active {\\n background-color: #506f89;\\n border-color: #357ebd;\\n}\\n.bk-root .bk-btn-success {\\n color: #fff;\\n background-color: #5cb85c;\\n border-color: #4cae4c;\\n}\\n.bk-root .bk-btn-success:hover {\\n background-color: #4eb24e;\\n border-color: #409240;\\n}\\n.bk-root .bk-btn-success.bk-active {\\n background-color: #47a447;\\n border-color: #398439;\\n}\\n.bk-root .bk-btn-success[disabled],\\n.bk-root .bk-btn-success[disabled]:hover,\\n.bk-root .bk-btn-success[disabled]:focus,\\n.bk-root .bk-btn-success[disabled]:active,\\n.bk-root .bk-btn-success[disabled].bk-active {\\n background-color: #667b66;\\n border-color: #4cae4c;\\n}\\n.bk-root .bk-btn-warning {\\n color: #fff;\\n background-color: #f0ad4e;\\n border-color: #eea236;\\n}\\n.bk-root .bk-btn-warning:hover {\\n background-color: #eea43b;\\n border-color: #e89014;\\n}\\n.bk-root .bk-btn-warning.bk-active {\\n background-color: #ed9c28;\\n border-color: #d58512;\\n}\\n.bk-root .bk-btn-warning[disabled],\\n.bk-root .bk-btn-warning[disabled]:hover,\\n.bk-root .bk-btn-warning[disabled]:focus,\\n.bk-root .bk-btn-warning[disabled]:active,\\n.bk-root .bk-btn-warning[disabled].bk-active {\\n background-color: #c89143;\\n border-color: #eea236;\\n}\\n.bk-root .bk-btn-danger {\\n color: #fff;\\n background-color: #d9534f;\\n border-color: #d43f3a;\\n}\\n.bk-root .bk-btn-danger:hover {\\n background-color: #d5433e;\\n border-color: #bd2d29;\\n}\\n.bk-root .bk-btn-danger.bk-active {\\n background-color: #d2322d;\\n border-color: #ac2925;\\n}\\n.bk-root .bk-btn-danger[disabled],\\n.bk-root .bk-btn-danger[disabled]:hover,\\n.bk-root .bk-btn-danger[disabled]:focus,\\n.bk-root .bk-btn-danger[disabled]:active,\\n.bk-root .bk-btn-danger[disabled].bk-active {\\n background-color: #a55350;\\n border-color: #d43f3a;\\n}\\n.bk-root .bk-btn-group {\\n height: 100%;\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-btn-group > .bk-btn {\\n flex-grow: 1;\\n -webkit-flex-grow: 1;\\n}\\n.bk-root .bk-btn-group > .bk-btn + .bk-btn {\\n margin-left: -1px;\\n}\\n.bk-root .bk-btn-group > .bk-btn:first-child:not(:last-child) {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n.bk-root .bk-btn-group > .bk-btn:not(:first-child):last-child {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n.bk-root .bk-btn-group > .bk-btn:not(:first-child):not(:last-child) {\\n border-radius: 0;\\n}\\n.bk-root .bk-btn-group .bk-dropdown-toggle {\\n flex: 0 0 0;\\n -webkit-flex: 0 0 0;\\n padding: 6px 6px;\\n}\\n\"},\n", + " function _(n,o,r){Object.defineProperty(r,\"__esModule\",{value:!0});r.default=\"\\n.bk-root .bk-menu-icon {\\n width: 28px;\\n height: 28px;\\n background-size: 60%;\\n background-color: transparent;\\n background-repeat: no-repeat;\\n background-position: center center;\\n}\\n.bk-root .bk-context-menu {\\n position: absolute;\\n display: inline-flex;\\n display: -webkit-inline-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n width: auto;\\n height: auto;\\n z-index: 100;\\n cursor: pointer;\\n font-size: 12px;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n.bk-root .bk-context-menu.bk-horizontal {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-context-menu.bk-vertical {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-context-menu > .bk-divider {\\n cursor: default;\\n overflow: hidden;\\n background-color: #e5e5e5;\\n}\\n.bk-root .bk-context-menu.bk-horizontal > .bk-divider {\\n width: 1px;\\n margin: 5px 0;\\n}\\n.bk-root .bk-context-menu.bk-vertical > .bk-divider {\\n height: 1px;\\n margin: 0 5px;\\n}\\n.bk-root .bk-context-menu > :not(.bk-divider) {\\n border: 1px solid transparent;\\n}\\n.bk-root .bk-context-menu > :not(.bk-divider).bk-active {\\n border-color: #26aae1;\\n}\\n.bk-root .bk-context-menu > :not(.bk-divider):hover {\\n background-color: #f9f9f9;\\n}\\n.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):first-child {\\n border-top-left-radius: 4px;\\n border-bottom-left-radius: 4px;\\n}\\n.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):last-child {\\n border-top-right-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):first-child {\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n}\\n.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):last-child {\\n border-bottom-left-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n.bk-root .bk-menu {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n z-index: 100;\\n cursor: pointer;\\n font-size: 12px;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n.bk-root .bk-menu.bk-above {\\n bottom: 100%;\\n}\\n.bk-root .bk-menu.bk-below {\\n top: 100%;\\n}\\n.bk-root .bk-menu > .bk-divider {\\n height: 1px;\\n margin: 7.5px 0;\\n overflow: hidden;\\n background-color: #e5e5e5;\\n}\\n.bk-root .bk-menu > :not(.bk-divider) {\\n padding: 6px 12px;\\n}\\n.bk-root .bk-menu > :not(.bk-divider):hover,\\n.bk-root .bk-menu > :not(.bk-divider).bk-active {\\n background-color: #e6e6e6;\\n}\\n.bk-root .bk-caret {\\n display: inline-block;\\n vertical-align: middle;\\n width: 0;\\n height: 0;\\n margin: 0 5px;\\n}\\n.bk-root .bk-caret.bk-down {\\n border-top: 4px solid;\\n}\\n.bk-root .bk-caret.bk-up {\\n border-bottom: 4px solid;\\n}\\n.bk-root .bk-caret.bk-down,\\n.bk-root .bk-caret.bk-up {\\n border-right: 4px solid transparent;\\n border-left: 4px solid transparent;\\n}\\n.bk-root .bk-caret.bk-left {\\n border-right: 4px solid;\\n}\\n.bk-root .bk-caret.bk-right {\\n border-left: 4px solid;\\n}\\n.bk-root .bk-caret.bk-left,\\n.bk-root .bk-caret.bk-right {\\n border-top: 4px solid transparent;\\n border-bottom: 4px solid transparent;\\n}\\n\"},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});n.default='\\n.bk-root .bk-tabs-header {\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n overflow: hidden;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n.bk-root .bk-tabs-header .bk-btn-group {\\n height: auto;\\n margin-right: 5px;\\n}\\n.bk-root .bk-tabs-header .bk-btn-group > .bk-btn {\\n flex-grow: 0;\\n -webkit-flex-grow: 0;\\n height: auto;\\n padding: 4px 4px;\\n}\\n.bk-root .bk-tabs-header .bk-headers-wrapper {\\n flex-grow: 1;\\n -webkit-flex-grow: 1;\\n overflow: hidden;\\n color: #666666;\\n}\\n.bk-root .bk-tabs-header.bk-above .bk-headers-wrapper {\\n border-bottom: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-right .bk-headers-wrapper {\\n border-left: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-below .bk-headers-wrapper {\\n border-top: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-left .bk-headers-wrapper {\\n border-right: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-above,\\n.bk-root .bk-tabs-header.bk-below {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-tabs-header.bk-above .bk-headers,\\n.bk-root .bk-tabs-header.bk-below .bk-headers {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-tabs-header.bk-left,\\n.bk-root .bk-tabs-header.bk-right {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-tabs-header.bk-left .bk-headers,\\n.bk-root .bk-tabs-header.bk-right .bk-headers {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-tabs-header .bk-headers {\\n position: relative;\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n}\\n.bk-root .bk-tabs-header .bk-tab {\\n padding: 4px 8px;\\n border: solid transparent;\\n white-space: nowrap;\\n cursor: pointer;\\n}\\n.bk-root .bk-tabs-header .bk-tab:hover {\\n background-color: #f2f2f2;\\n}\\n.bk-root .bk-tabs-header .bk-tab.bk-active {\\n color: #4d4d4d;\\n background-color: white;\\n border-color: #e6e6e6;\\n}\\n.bk-root .bk-tabs-header .bk-tab .bk-close {\\n margin-left: 10px;\\n}\\n.bk-root .bk-tabs-header.bk-above .bk-tab {\\n border-width: 3px 1px 0px 1px;\\n border-radius: 4px 4px 0 0;\\n}\\n.bk-root .bk-tabs-header.bk-right .bk-tab {\\n border-width: 1px 3px 1px 0px;\\n border-radius: 0 4px 4px 0;\\n}\\n.bk-root .bk-tabs-header.bk-below .bk-tab {\\n border-width: 0px 1px 3px 1px;\\n border-radius: 0 0 4px 4px;\\n}\\n.bk-root .bk-tabs-header.bk-left .bk-tab {\\n border-width: 1px 0px 1px 3px;\\n border-radius: 4px 0 0 4px;\\n}\\n.bk-root .bk-close {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n background-image: url(\\'data:image/svg+xml;utf8, \\');\\n}\\n.bk-root .bk-close:hover {\\n background-image: url(\\'data:image/svg+xml;utf8, \\');\\n}\\n'},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const o=e(274);class _ extends o.ColumnView{}i.WidgetBoxView=_,_.__name__=\"WidgetBoxView\";class n extends o.Column{constructor(e){super(e)}static init_WidgetBox(){this.prototype.default_view=_}}i.WidgetBox=n,n.__name__=\"WidgetBox\",n.init_WidgetBox()},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});e(1).__exportStar(e(288),t);var a=e(289);t.Marker=a.Marker;var _=e(290);t.Scatter=_.Scatter},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const i=e(1),r=e(289),n=i.__importStar(e(238)),s=Math.sqrt(3);function c(e,t){e.rotate(Math.PI/4),a(e,t),e.rotate(-Math.PI/4)}function l(e,t){const o=t*s,i=o/3;e.moveTo(-o/2,-i),e.lineTo(0,0),e.lineTo(o/2,-i),e.lineTo(0,0),e.lineTo(0,t)}function a(e,t){e.moveTo(0,t),e.lineTo(0,-t),e.moveTo(-t,0),e.lineTo(t,0)}function u(e,t){e.moveTo(0,t),e.lineTo(t/1.5,0),e.lineTo(0,-t),e.lineTo(-t/1.5,0),e.closePath()}function d(e,t){const o=t*s,i=o/3;e.moveTo(-t,i),e.lineTo(t,i),e.lineTo(0,i-o),e.closePath()}function v(e,t,o,i,r){a(e,o),c(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function _(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function f(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),a(e,o),e.stroke())}function T(e,t,o,i,r){_(e,t,o,i,r),P(e,t,o,i,r)}function z(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),l(e,o),e.stroke())}function C(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),c(e,o),e.stroke())}function k(e,t,o,i,r){a(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function m(e,t,o,i,r){u(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function h(e,t,o,i,r){u(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.moveTo(0,o),e.lineTo(0,-o),e.moveTo(-o/1.5,0),e.lineTo(o/1.5,0),e.stroke())}function q(e,t,o,i,r){m(e,t,o,i,r),P(e,t,o,i,r)}function P(e,t,o,i,r){!function(e,t){e.beginPath(),e.arc(0,0,t/4,0,2*Math.PI,!1),e.closePath()}(e,o),i.set_vectorize(e,t),e.fillStyle=e.strokeStyle,e.fill()}function D(e,t,o,i,r){!function(e,t){const o=t/2,i=s*o;e.moveTo(t,0),e.lineTo(o,-i),e.lineTo(-o,-i),e.lineTo(-t,0),e.lineTo(-o,i),e.lineTo(o,i),e.closePath()}(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function g(e,t,o,i,r){D(e,t,o,i,r),P(e,t,o,i)}function S(e,t,o,i,r){e.rotate(Math.PI),d(e,o),e.rotate(-Math.PI),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function G(e,t,o,i,r){const n=3*o/8,s=[n,n,o,o,n,n,-n,-n,-o,-o,-n,-n],c=[o,n,n,-n,-n,-o,-o,-n,-n,n,n,o];for(e.moveTo(s[0],c[0]),t=1;t<12;t++)e.lineTo(s[t],c[t]);e.closePath(),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function L(e,t,o,i,r){const n=2*o;e.rect(-o,-o,n,n),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function M(e,t,o,i,r){const n=3*o/8;e.moveTo(-o,-o),e.quadraticCurveTo(0,-n,o,-o),e.quadraticCurveTo(n,0,o,o),e.quadraticCurveTo(0,n,-o,o),e.quadraticCurveTo(-n,0,-o,-o),e.closePath(),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function p(e,t,o,i,r){const n=2*o;e.rect(-o,-o,n,n),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),a(e,o),e.stroke())}function x(e,t,o,i,r){L(e,t,o,i,r),P(e,t,o,i)}function I(e,t,o,i,r){const n=2*o;e.rect(-o,-o,n,n),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.moveTo(-o,o),e.lineTo(o,-o),e.moveTo(-o,-o),e.lineTo(o,o),e.stroke())}function y(e,t,o,i,r){d(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function X(e,t,o,i,r){y(e,t,o,i,r),P(e,t,o,i)}function H(e,t,o,i,r){const n=o*s,c=n/3,l=3*c/8;e.moveTo(-o,c),e.quadraticCurveTo(0,l,o,c),e.quadraticCurveTo(s*l/2,l/2,0,c-n),e.quadraticCurveTo(-s*l/2,l/2,-o,c),e.closePath(),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function Y(e,t,o,i,r){!function(e,t){e.moveTo(-t,0),e.lineTo(t,0)}(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function A(e,t,o,i,r){c(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function b(e,t,o,i,r){l(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function w(e,t,o){var i;const n=class extends r.MarkerView{static initClass(){this.prototype._render_one=t,this.prototype.glglyph_cls=o}};n.initClass();const s=((i=class extends r.Marker{static initClass(){this.prototype.default_view=n}}).__name__=e,i);return s.initClass(),s}o.Asterisk=w(\"Asterisk\",v,n.AsteriskGL),o.CircleCross=w(\"CircleCross\",f,n.CircleCrossGL),o.CircleDot=w(\"CircleDot\",T),o.CircleY=w(\"CircleY\",z),o.CircleX=w(\"CircleX\",C,n.CircleXGL),o.Cross=w(\"Cross\",k,n.CrossGL),o.Dash=w(\"Dash\",Y),o.Diamond=w(\"Diamond\",m,n.DiamondGL),o.DiamondCross=w(\"DiamondCross\",h,n.DiamondCrossGL),o.DiamondDot=w(\"DiamondDot\",q),o.Dot=w(\"Dot\",P),o.Hex=w(\"Hex\",D,n.HexGL),o.HexDot=w(\"HexDot\",g),o.InvertedTriangle=w(\"InvertedTriangle\",S,n.InvertedTriangleGL),o.Plus=w(\"Plus\",G),o.Square=w(\"Square\",L,n.SquareGL),o.SquareCross=w(\"SquareCross\",p,n.SquareCrossGL),o.SquareDot=w(\"SquareDot\",x),o.SquarePin=w(\"SquarePin\",M),o.SquareX=w(\"SquareX\",I,n.SquareXGL),o.Triangle=w(\"Triangle\",y,n.TriangleGL),o.TriangleDot=w(\"TriangleDot\",X),o.TrianglePin=w(\"TrianglePin\",H),o.X=w(\"X\",A,n.XGL),o.Y=w(\"Y\",b),o.marker_funcs={asterisk:v,circle:_,circle_cross:f,circle_dot:T,circle_y:z,circle_x:C,cross:k,diamond:m,diamond_dot:q,diamond_cross:h,dot:P,hex:D,hex_dot:g,inverted_triangle:S,plus:G,square:L,square_cross:p,square_dot:x,square_pin:M,square_x:I,triangle:y,triangle_dot:X,triangle_pin:H,dash:Y,x:A,y:b}},\n", + " function _(e,s,i){Object.defineProperty(i,\"__esModule\",{value:!0});const t=e(1),n=e(93),r=e(28),a=t.__importStar(e(101)),_=t.__importStar(e(18)),h=e(9),l=e(88);class c extends n.XYGlyphView{initialize(){super.initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;null!=e&&null!=this.glglyph_cls&&(this.glglyph=new this.glglyph_cls(e.gl,this))}_render(e,s,{sx:i,sy:t,_size:n,_angle:r}){for(const a of s){if(isNaN(i[a]+t[a]+n[a]+r[a]))continue;const s=n[a]/2;e.beginPath(),e.translate(i[a],t[a]),r[a]&&e.rotate(r[a]),this._render_one(e,a,s,this.visuals.line,this.visuals.fill),r[a]&&e.rotate(-r[a]),e.translate(-i[a],-t[a])}}_mask_data(){const e=this.renderer.plot_view.frame.bbox.h_range,s=e.start-this.max_size,i=e.end+this.max_size,[t,n]=this.renderer.xscale.r_invert(s,i),r=this.renderer.plot_view.frame.bbox.v_range,a=r.start-this.max_size,_=r.end+this.max_size,[h,l]=this.renderer.yscale.r_invert(a,_);return this.index.indices({x0:t,x1:n,y0:h,y1:l})}_hit_point(e){const{sx:s,sy:i}=e,t=s-this.max_size,n=s+this.max_size,[r,a]=this.renderer.xscale.r_invert(t,n),_=i-this.max_size,h=i+this.max_size,[c,o]=this.renderer.yscale.r_invert(_,h),x=this.index.indices({x0:r,x1:a,y0:c,y1:o}),d=[];for(const e of x){const t=this._size[e]/2;Math.abs(this.sx[e]-s)<=t&&Math.abs(this.sy[e]-i)<=t&&d.push(e)}return new l.Selection({indices:d})}_hit_span(e){const{sx:s,sy:i}=e,t=this.bounds(),n=this.max_size/2;let r,a,_,h;if(\"h\"==e.direction){_=t.y0,h=t.y1;const e=s-n,i=s+n;[r,a]=this.renderer.xscale.r_invert(e,i)}else{r=t.x0,a=t.x1;const e=i-n,s=i+n;[_,h]=this.renderer.yscale.r_invert(e,s)}const c=[...this.index.indices({x0:r,x1:a,y0:_,y1:h})];return new l.Selection({indices:c})}_hit_rect(e){const{sx0:s,sx1:i,sy0:t,sy1:n}=e,[r,a]=this.renderer.xscale.r_invert(s,i),[_,h]=this.renderer.yscale.r_invert(t,n),c=[...this.index.indices({x0:r,x1:a,y0:_,y1:h})];return new l.Selection({indices:c})}_hit_poly(e){const{sx:s,sy:i}=e,t=h.range(0,this.sx.length),n=[];for(let e=0,r=t.length;enew r.Range1d,y_range:()=>new r.Range1d})}initialize(){super.initialize(),this.use_map=!0,this.api_key||n.logger.error(\"api_key is required. See https://developers.google.com/maps/documentation/javascript/get-api-key for more information on how to obtain your own.\")}}i.GMapPlot=u,u.__name__=\"GMapPlot\",u.init_GMapPlot()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1),o=i.__importStar(e(28)),n=i.__importStar(e(18)),s=e(15),a=e(9),l=e(13),_=e(8),h=e(272),c=e(169),u=e(145),d=e(294),b=e(85),g=e(90),p=e(210),m=e(312);r.PlotView=m.PlotView;class f extends h.LayoutDOM{constructor(e){super(e)}static init_Plot(){this.prototype.default_view=m.PlotView,this.mixins([[\"outline_\",o.Line],[\"background_\",o.Fill],[\"border_\",o.Fill]]),this.define({toolbar:[n.Instance,()=>new d.Toolbar],toolbar_location:[n.Location,\"right\"],toolbar_sticky:[n.Boolean,!0],plot_width:[n.Number,600],plot_height:[n.Number,600],frame_width:[n.Number,null],frame_height:[n.Number,null],title:[n.Any,()=>new c.Title({text:\"\"})],title_location:[n.Location,\"above\"],above:[n.Array,[]],below:[n.Array,[]],left:[n.Array,[]],right:[n.Array,[]],center:[n.Array,[]],renderers:[n.Array,[]],x_range:[n.Instance,()=>new p.DataRange1d],extra_x_ranges:[n.Any,{}],y_range:[n.Instance,()=>new p.DataRange1d],extra_y_ranges:[n.Any,{}],x_scale:[n.Instance,()=>new u.LinearScale],y_scale:[n.Instance,()=>new u.LinearScale],lod_factor:[n.Number,10],lod_interval:[n.Number,300],lod_threshold:[n.Number,2e3],lod_timeout:[n.Number,500],hidpi:[n.Boolean,!0],output_backend:[n.OutputBackend,\"canvas\"],min_border:[n.Number,5],min_border_top:[n.Number,null],min_border_left:[n.Number,null],min_border_bottom:[n.Number,null],min_border_right:[n.Number,null],inner_width:[n.Number],inner_height:[n.Number],outer_width:[n.Number],outer_height:[n.Number],match_aspect:[n.Boolean,!1],aspect_scale:[n.Number,1],reset_policy:[n.ResetPolicy,\"standard\"]}),this.override({outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"})}get width(){const e=this.properties.width.get_value();return null!=e?e:this.plot_width}set width(e){this.setv({width:e,plot_width:e})}get height(){const e=this.properties.height.get_value();return null!=e?e:this.plot_height}set height(e){this.setv({height:e,plot_height:e})}_doc_attached(){super._doc_attached(),this._push_changes([[this.properties.inner_height,null,this.inner_height],[this.properties.inner_width,null,this.inner_width]])}initialize(){super.initialize(),this.reset=new s.Signal0(this,\"reset\");for(const e of l.values(this.extra_x_ranges).concat(this.x_range)){let t=e.plots;_.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}for(const e of l.values(this.extra_y_ranges).concat(this.y_range)){let t=e.plots;_.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}}add_layout(e,t=\"center\"){const r=this.properties[t].get_value();this.setv({[t]:[...r,e]})}remove_layout(e){const t=t=>{a.remove_by(t,t=>t==e)};t(this.left),t(this.right),t(this.above),t(this.below),t(this.center)}add_renderers(...e){this.renderers=this.renderers.concat(e)}add_glyph(e,t=new b.ColumnDataSource,r={}){const i=Object.assign(Object.assign({},r),{data_source:t,glyph:e}),o=new g.GlyphRenderer(i);return this.add_renderers(o),o}add_tools(...e){this.toolbar.tools=this.toolbar.tools.concat(e)}get panels(){return[...this.side_panels,...this.center]}get side_panels(){const{above:e,below:t,left:r,right:i}=this;return a.concat([e,t,r,i])}}r.Plot=f,f.__name__=\"Plot\",f.init_Plot()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1).__importStar(t(18)),c=t(8),o=t(9),n=t(13),a=t(295),l=t(305),r=t=>{switch(t){case\"tap\":return\"active_tap\";case\"pan\":return\"active_drag\";case\"pinch\":case\"scroll\":return\"active_scroll\";case\"multi\":return\"active_multi\"}return null},_=t=>\"tap\"==t||\"pan\"==t;class h extends l.ToolbarBase{constructor(t){super(t)}static init_Toolbar(){this.prototype.default_view=l.ToolbarBaseView,this.define({active_drag:[s.Any,\"auto\"],active_inspect:[s.Any,\"auto\"],active_scroll:[s.Any,\"auto\"],active_tap:[s.Any,\"auto\"],active_multi:[s.Any,null]})}connect_signals(){super.connect_signals();const{tools:t,active_drag:e,active_inspect:i,active_scroll:s,active_tap:c,active_multi:o}=this.properties;this.on_change([t,e,i,s,c,o],()=>this._init_tools())}_init_tools(){if(super._init_tools(),\"auto\"==this.active_inspect);else if(this.active_inspect instanceof a.InspectTool){let t=!1;for(const e of this.inspectors)e!=this.active_inspect?e.active=!1:t=!0;t||(this.active_inspect=null)}else if(c.isArray(this.active_inspect)){const t=o.intersection(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)o.includes(this.active_inspect,t)||(t.active=!1)}else if(null==this.active_inspect)for(const t of this.inspectors)t.active=!1;const t=t=>{t.active?this._active_change(t):t.active=!0};for(const t of n.values(this.gestures)){t.tools=o.sort_by(t.tools,t=>t.default_order);for(const e of t.tools)this.connect(e.properties.active.change,()=>this._active_change(e))}for(const[e,i]of n.entries(this.gestures)){const s=r(e);if(s){const c=this[s];\"auto\"==c?0!=i.tools.length&&_(e)&&t(i.tools[0]):null!=c&&(o.includes(this.tools,c)?t(c):this[s]=null)}}}}i.Toolbar=h,h.__name__=\"Toolbar\",h.init_Toolbar()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const n=e(1),s=e(296),i=e(304),_=n.__importStar(e(18));class c extends s.ButtonToolView{}o.InspectToolView=c,c.__name__=\"InspectToolView\";class l extends s.ButtonTool{constructor(e){super(e),this.event_type=\"move\"}static init_InspectTool(){this.prototype.button_view=i.OnOffButtonView,this.define({toggleable:[_.Boolean,!0]}),this.override({active:!0})}}o.InspectTool=l,l.__name__=\"InspectTool\",l.init_InspectTool()},\n", + " function _(t,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const i=t(1),s=i.__importDefault(t(297)),n=t(78),l=t(298),r=t(72),a=i.__importStar(t(18)),u=t(29),_=t(8),h=t(9),c=t(299),m=i.__importDefault(t(300)),d=i.__importDefault(t(301)),p=i.__importDefault(t(284)),f=t(302);class g extends n.DOMView{initialize(){super.initialize();const t=this.model.menu;if(null!=t){const e=this.parent.model.toolbar_location,o=\"left\"==e||\"above\"==e,i=this.parent.model.horizontal?\"vertical\":\"horizontal\";this._menu=new f.ContextMenu(o?h.reversed(t):t,{orientation:i,prevent_hide:t=>t.target==this.el})}this._hammer=new s.default(this.el,{touchAction:\"auto\",inputClass:s.default.TouchMouseInput}),this.connect(this.model.change,()=>this.render()),this._hammer.on(\"tap\",t=>{var e;(null===(e=this._menu)||void 0===e?void 0:e.is_open)?this._menu.hide():t.target==this.el&&this._clicked()}),this._hammer.on(\"press\",()=>this._pressed())}remove(){var t;this._hammer.destroy(),null===(t=this._menu)||void 0===t||t.remove(),super.remove()}styles(){return[...super.styles(),m.default,d.default,p.default]}css_classes(){return super.css_classes().concat(c.bk_toolbar_button)}render(){r.empty(this.el);const t=this.model.computed_icon;_.isString(t)&&(u.startsWith(t,\"data:image\")?this.el.style.backgroundImage=\"url('\"+t+\"')\":this.el.classList.add(t)),this.el.title=this.model.tooltip,null!=this._menu&&this.root.el.appendChild(this._menu.el)}_pressed(){var t;const{left:e,top:o,right:i,bottom:s}=this.el.getBoundingClientRect(),n=(()=>{switch(this.parent.model.toolbar_location){case\"right\":return{right:e,top:o};case\"left\":return{left:i,top:o};case\"above\":return{left:e,top:s};case\"below\":return{left:e,bottom:o}}})();null===(t=this._menu)||void 0===t||t.toggle(n)}}o.ButtonToolButtonView=g,g.__name__=\"ButtonToolButtonView\";class v extends l.ToolView{}o.ButtonToolView=v,v.__name__=\"ButtonToolView\";class b extends l.Tool{constructor(t){super(t)}static init_ButtonTool(){this.internal({disabled:[a.Boolean,!1]})}get tooltip(){return this.tool_name}get computed_icon(){return this.icon}get menu(){return null}}o.ButtonTool=b,b.__name__=\"ButtonTool\",b.init_ButtonTool()},\n", + " function _(t,e,n){\n", + " /*! Hammer.JS - v2.0.7 - 2016-04-22\n", + " * http://hammerjs.github.io/\n", + " *\n", + " * Copyright (c) 2016 Jorik Tangelder;\n", + " * Licensed under the MIT license */\n", + " !function(t,n,i,r){\"use strict\";var s,o=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],a=n.createElement(\"div\"),h=Math.round,u=Math.abs,c=Date.now;function l(t,e,n){return setTimeout(y(t,n),e)}function p(t,e,n){return!!Array.isArray(t)&&(f(t,n[e],n),!0)}function f(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(void 0!==t.length)for(i=0;i\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",s=t.console&&(t.console.warn||t.console.log);return s&&s.call(t.console,r,i),e.apply(this,arguments)}}s=\"function\"!=typeof Object.assign?function(t){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),n=1;n-1}function S(t){return t.trim().split(/\\s+/g)}function b(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]})):i.sort()),i}function D(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=W(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,a=o?o.center:s.center,h=e.center=q(i);e.timeStamp=c(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=U(a,h),e.distance=L(a,h),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};1!==e.eventType&&4!==s.eventType||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y});e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=H(e.deltaX,e.deltaY);var l=k(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=u(l.x)>u(l.y)?l.x:l.y,e.scale=o?(p=o.pointers,f=i,L(f[0],f[1],X)/L(p[0],p[1],X)):1,e.rotation=o?function(t,e){return U(e[1],e[0],X)+U(t[1],t[0],X)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,a=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(a>25||void 0===o.velocity)){var h=e.deltaX-o.deltaX,c=e.deltaY-o.deltaY,l=k(a,h,c);i=l.x,r=l.y,n=u(l.x)>u(l.y)?l.x:l.y,s=H(h,c),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var p,f;var v=t.element;_(e.srcEvent.target,v)&&(v=e.srcEvent.target);e.target=v}(t,n),t.emit(\"hammer.input\",n),t.recognize(n),t.session.prevInput=n}function W(t){for(var e=[],n=0;n=u(e)?t<0?2:4:e<0?8:16}function L(t,e,n){n||(n=N);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function U(t,e,n){n||(n=N);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}Y.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(O(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(O(this.element),this.evWin,this.domHandler)}};var V={mousedown:1,mousemove:2,mouseup:4};function j(){this.evEl=\"mousedown\",this.evWin=\"mousemove mouseup\",this.pressed=!1,Y.apply(this,arguments)}g(j,Y,{handler:function(t){var e=V[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:\"mouse\",srcEvent:t}))}});var G={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Z={2:\"touch\",3:\"pen\",4:\"mouse\",5:\"kinect\"},B=\"pointerdown\",$=\"pointermove pointerup pointercancel\";function J(){this.evEl=B,this.evWin=$,Y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(B=\"MSPointerDown\",$=\"MSPointerMove MSPointerUp MSPointerCancel\"),g(J,Y,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace(\"ms\",\"\"),r=G[i],s=Z[t.pointerType]||t.pointerType,o=\"touch\"==s,a=b(e,t.pointerId,\"pointerId\");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var K={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function Q(){this.evTarget=\"touchstart\",this.evWin=\"touchstart touchmove touchend touchcancel\",this.started=!1,Y.apply(this,arguments)}function tt(t,e){var n=x(t.touches),i=x(t.changedTouches);return 12&e&&(n=P(n.concat(i),\"identifier\",!0)),[n,i]}g(Q,Y,{handler:function(t){var e=K[t.type];if(1===e&&(this.started=!0),this.started){var n=tt.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:\"touch\",srcEvent:t})}}});var et={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function nt(){this.evTarget=\"touchstart touchmove touchend touchcancel\",this.targetIds={},Y.apply(this,arguments)}function it(t,e){var n=x(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=x(t.changedTouches),a=[],h=this.target;if(s=n.filter((function(t){return _(t.target,h)})),1===e)for(r=0;r-1&&i.splice(t,1)}),2500)}}function at(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+ft(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+ft(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=vt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(yt,mt,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[\"none\"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?\"in\":\"out\";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(Tt,pt,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[\"auto\"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}}),g(Et,mt,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[\"none\"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(It,mt,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return gt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&u(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=vt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(At,pt,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[\"manipulation\"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance{this.model.active?this.activate():this.deactivate()})}activate(){}deactivate(){}}i.ToolView=r,r.__name__=\"ToolView\";class _ extends a.Model{constructor(t){super(t)}static init_Tool(){this.prototype._known_aliases=new Map,this.internal({active:[n.Boolean,!1]})}get synthetic_renderers(){return[]}_get_dim_tooltip(t,e){switch(e){case\"width\":return t+\" (x-axis)\";case\"height\":return t+\" (y-axis)\";case\"both\":return t}}_get_dim_limits([t,e],[i,n],o,a){const r=o.bbox.h_range;let _;\"width\"==a||\"both\"==a?(_=[s.min([t,i]),s.max([t,i])],_=[s.max([_[0],r.start]),s.min([_[1],r.end])]):_=[r.start,r.end];const l=o.bbox.v_range;let c;return\"height\"==a||\"both\"==a?(c=[s.min([e,n]),s.max([e,n])],c=[s.max([c[0],l.start]),s.min([c[1],l.end])]):c=[l.start,l.end],[_,c]}static register_alias(t,e){this.prototype._known_aliases.set(t,e)}static from_string(t){const e=this.prototype._known_aliases.get(t);if(null!=e)return e();{const e=[...this.prototype._known_aliases.keys()];throw new Error(`unexpected tool name '${t}', possible tools are ${e.join(\", \")}`)}}}i.Tool=_,_.__name__=\"Tool\",_.init_Tool()},\n", + " function _(o,b,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bk_toolbar=\"bk-toolbar\",t.bk_toolbar_hidden=\"bk-toolbar-hidden\",t.bk_toolbar_button=\"bk-toolbar-button\",t.bk_button_bar=\"bk-button-bar\",t.bk_toolbar_button_custom_action=\"bk-toolbar-button-custom-action\"},\n", + " function _(o,b,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root .bk-toolbar-hidden {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 0.3s linear, opacity 0.3s linear;\\n}\\n.bk-root .bk-toolbar,\\n.bk-root .bk-button-bar {\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n.bk-root .bk-toolbar .bk-logo {\\n flex-shrink: 0;\\n -webkit-flex-shrink: 0;\\n}\\n.bk-root .bk-toolbar.bk-above,\\n.bk-root .bk-toolbar.bk-below {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n justify-content: flex-end;\\n -webkit-justify-content: flex-end;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-button-bar,\\n.bk-root .bk-toolbar.bk-below .bk-button-bar {\\n display: flex;\\n display: -webkit-flex;\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-logo,\\n.bk-root .bk-toolbar.bk-below .bk-logo {\\n order: 1;\\n -webkit-order: 1;\\n margin-left: 5px;\\n margin-right: 0px;\\n}\\n.bk-root .bk-toolbar.bk-left,\\n.bk-root .bk-toolbar.bk-right {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n justify-content: flex-start;\\n -webkit-justify-content: flex-start;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-button-bar,\\n.bk-root .bk-toolbar.bk-right .bk-button-bar {\\n display: flex;\\n display: -webkit-flex;\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-logo,\\n.bk-root .bk-toolbar.bk-right .bk-logo {\\n order: 0;\\n -webkit-order: 0;\\n margin-bottom: 5px;\\n margin-top: 0px;\\n}\\n.bk-root .bk-toolbar-button {\\n width: 30px;\\n height: 30px;\\n cursor: pointer;\\n background-size: 60% 60%;\\n background-origin: border-box;\\n background-color: transparent;\\n background-repeat: no-repeat;\\n background-position: center center;\\n}\\n.bk-root .bk-toolbar-button:hover {\\n background-color: rgba(192, 192, 192, 0.15);\\n}\\n.bk-root .bk-toolbar-button:focus {\\n outline: none;\\n}\\n.bk-root .bk-toolbar-button::-moz-focus-inner {\\n border: 0;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-toolbar-button {\\n border-bottom: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-toolbar-button.bk-active {\\n border-bottom-color: #26aae1;\\n}\\n.bk-root .bk-toolbar.bk-below .bk-toolbar-button {\\n border-top: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-below .bk-toolbar-button.bk-active {\\n border-top-color: #26aae1;\\n}\\n.bk-root .bk-toolbar.bk-right .bk-toolbar-button {\\n border-left: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-right .bk-toolbar-button.bk-active {\\n border-left-color: #26aae1;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-toolbar-button {\\n border-right: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-toolbar-button.bk-active {\\n border-right-color: #26aae1;\\n}\\n.bk-root .bk-button-bar + .bk-button-bar:before {\\n content: \" \";\\n display: inline-block;\\n background-color: lightgray;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-button-bar + .bk-button-bar:before,\\n.bk-root .bk-toolbar.bk-below .bk-button-bar + .bk-button-bar:before {\\n height: 10px;\\n width: 1px;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-button-bar + .bk-button-bar:before,\\n.bk-root .bk-toolbar.bk-right .bk-button-bar + .bk-button-bar:before {\\n height: 1px;\\n width: 10px;\\n}\\n'},\n", + " function _(A,g,C){Object.defineProperty(C,\"__esModule\",{value:!0});C.default='\\n.bk-root .bk-tool-icon-copy-to-clipboard {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUSDBoBvcHQeQAAAG9JREFUWMNjXLhsJcNAAiaGAQYwB/xHwh/Q+ITEkfHQCwEWND4jmeb8H/JpgBwfI6cNBhLSEkqaGXRpgFRAcZoZsmlg1AGjDhh1wKgDRh0w6gCaVcf/R2wIkNqw+D9s0wADvUNiyIYA47BJAwPuAAAj/Cjd0TCN6wAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-replace-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxokK3gniQAAAHpJREFUWMNjXLhsJcNAAiaGAQajDhhwB7DgEP+PxmeksvjgDwFcLmYkUh2hkBj8IcBIZXsYh1w2/I8v3sgAOM0bLYhGc8GgrwuICgldfQO88pcvXvg/aOuCUQeM5oLRuoCFCJcTbOMh5XOiW0JDNhdQS3y0IBp1ABwAAF8KGrhC1Eg6AAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-append-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkZWD04WwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAoUlEQVRYw+1WQQ6AIAwrhO8Y/bIXEz9jIMSDr8ETCUEPQzA4pMeFLKNbu4l5WR0CDOMEALBGIzMuQIBEZQjPgP9JLjwTfBjY9sO9lZsFA9IafZng3BlIyVefgd8XQFZBAWe8jfNxwsDhir6rzoCiPiy1K+J8/FRQemv2XfAdFcQ9znU4Viqg9ta1qYJ+D1BnAIBrkgGVOrXNqUA9rbyZm/AEzFh4jEeY/soAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-intersect-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkrkOpp2wAAAPhJREFUWMPtV1EKwjAMTUavI3oawR/vtn5srJdREfzwMvHHQlcT2mpdMzFfWxiP5r2+JMN+mAiCOB72CABgR1cln4oOGocJnuMTSxWk8jMm7OggYkYXA9gPE3uyd8NXHONJ+eYMdE/NqCJmEZ5ZqlJJ4sUksKN7cYSaPoCZFWR1QI+Xm1fBACU63Cw22x0AAJxudwrffVwvZ+JmQdAHZkw0d4EpAMCw8k87pMdbnwtizQumJYv3nwV6XOA1qbUT/oQLUJgFRbsiNwFVucBIlyR3p0tdMp+XmFjfLKi1LatyAXtCRjPWBdL3Ke3VuACJKFfDr/xFN2fgAR/Go0qaLlmEAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-subtract-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxgsF5XNOQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABFUlEQVRYw9VWUQqDMAxNpWfxQxD1MoP97G7zQ5mH2RTZYLtM9lWoMbXtxLXNX4OG9r28l4hrd0PQoqxqAACYpxH25C/nkwCHyCBwSPoS09k1T5Fo+4EiExcC4v584xGFmyIXHBLRISAVZyZufUPVa4rcrwmPDgr93ylo+2GliLRUYHK6th/o/6r7nfLpqaCsagEA8Hh9FmcNKeRmgeYDC+SCq0B6FFi8/BcV6BdR9cL3gCv3ijPKOacsn3rBEcjmaVxpfGcg4wHxzgJJnc6241Hn23DERFRAu1bNcWa3Q0uXi62XR6sCaWoSejbtdLYmU3kTEunNgj0bUbQqYG/IcMaqwPS9jftoVCAQ0ZVDJwf0zQdH4AsyW6fpQu4YegAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-clear-selection {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUGEhcuan3d3wAAAoRJREFUWMPtlzFP3EAQhd+b3TNSzg0N5TWXLkJQUUaKhIQ4fgP/g5ArrriE/I3opEgRrZtIVJR0FJQ010SioUmEZHtnUpwN9gWHGA5BJCy58MraffvmfZ41v3z9hqe8BE98vQh4cgG+Ydzmnrng8efvQJNi/uN7dznx/B3ggtfhf4ehNdUttRzBDIm/2VTiiWCG1HK0nc+3UWtq8BQIiEEakEQOADBIA4QCQmBqoHBhFNR27ikQSmGdYCdTqCpEHMDZmEKRWUBEv1gBDg5SzRJnpopILWICgWuRYflLamuzxB2BmtYqSRIka5VWU8QduXO+1hRc5YZu5GAwmP2ZJzND0IBu5HCV2+NQcAhAVRsnC2IbPzPdSjzd6to6VtfWkXi6YLaVWr7xoAwkfpb8MnC3SH7rKSMBe4M0jA/OTicFIbtCGRIyNbURhcf3ErCd6YwA1m0HgAxhw1NGQnlXBHG4kylVlSJuH0RfIP2CkL2I/qS1gIAAQiBl1QwFggIHtyxgrxK5PgyfC0JWKoT0HLh8LwoietB4TYKaIl7yeNURxB05UtMxDOcVQlZIrlRKdK6m47gjR/fuBRQihyLArtNeJD50Izcx2Eczu7iFkIug4VM3cpOr3MKDekFED0fWUHv9Zq0kpLnridjhY3XDg7NTN0jDrhO3X7O9Wg7wwyANu4mnayNg3gmbu0tCNoUyBNGv2l4rB9EXynA7082FOxAQLhU6rQVO9T2AvWowFToNCJcPORGxIRcnpjZSKATSU9NxvOQnAPArDSaQoUKnNI4iufkGtD4P3EHIcWZhz4HLceSOyrR3Izf5memPAL2cX3yhAkonysZVaWLBkd9dw1Ivv2a/AYPkK+ty1U1DAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-box-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg0kduFrowAAAIdJREFUWMPtVtEKwCAI9KL//4e9DPZ3+wP3KgOjNZouFYI4C8q7s7DtB1lGIeMoRMRinCLXg/ML3EcFqpjjloOyZxRntxpwQ8HsgHYARKFAtSFrCg3TCdMFCE1BuuALEXJLjC4qENsFVXCESZw38/kWLOkC/K4PcOc/Hj03WkoDT3EaWW9egQul6CUbq90JTwAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-box-zoom {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg82t254aQAAAkBJREFUWMPN11+E1FEUB/DPTFn2qaeIpcSwr5NlUyJiKWVXWUqvlUh/iE3RY9mUekkPPURtLKNRrFJEeuphGfUUaVliiX1aVjGs6aG7+XX9ZnZ+d2fTl2vmnHvPPfeee/79Sk+may2/UQq/q7Qu+bAJoxjHIKqB/wlfUMcMVqI9bLZ+DGIKwzlzQ2GcxCx2xwvKOUKlaHTiX8bHNspjDONHkOmJBW5jIof/FvPh/06MZOb6cRc7cGn1AKUE5cdzlM/gAr5F/O24H3xkFRfxAbVygvK+cIsspjGWo1zgjeFpxL+BvnLw7laBA4xjIFJwrgu52DoVjKdY4HBEX8dSF3JLYe1fe6UcYCii3xWQjdfuSTnAtoheKCC7GNED5Zx4L4qt61jbTLHA94geKSC7P7ZeShQ0Inoi1IJuEOeORooFXkV0FZNdZs5qvFfKAeqYy7nZ6yg//HG0MBfffh71lFrQDCW2EvEP4mt4okZUDftz9rmGZkotmMxJRtlisy+MTniAWrty3AlXw0hFM2TD89l+oNsoOJXjbIs4EpqNtTCLXbiZ0g+M4mFObj8U3vsNjoZCVcmk60ZwthpepLZkB/AsivWfOJZxtpUQHfWib7KWDwzjeegBZJSdKFiE2qJTFFTwElsi/unQ/awXrU4WGMD7nOJxBY/1EO2iYConq93CHT1GOwucjdqnRyFz+VcHmMNefMY9nNkA3SWUOoXhQviSWQ4huLIRFlirFixnQq/XaKXUgg2xQNGv4V7x/RcW+AXPB3h7H1PaiQAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-zoom-in {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsUBmL8iQAAA2JJREFUWMO9l12IlFUYx3//MzPrLpSjkm5oN4FFIWVEl66IQlFYwtLOzozsjHdGRSCRF0sfBEXRVV0FQuQiLm5CZNBFgRRaRLVFhbJ2EdiN5gbK7toObTPn6eYdPTvNzPvOBz5Xh/ec5/n/n89zXtEHmZqeSXSuXBz/3zfdKvBWJHQrwZuRcP0El+QkbQXeBX6WZEgm6TtJk5lM5o4Lc+cV6qpf4Ga20Tm338zeATItVK9Ker6yvPzp4NDQ3+XieGsCU9MzTYumGbhz7m4ze9/MHgvBgItACrgfGAj2jgAvAYs3wlEujjc13kii8YyZrXXOfWhmo9GnFUlvOOemarVapVqtkslksmb2KjARqL62ecuWN9NxbRInzrldAXhV0uFSIfdew7G/gNLU9MwS8CwSmE3Oz88fcXG5blfpqVRq0Ix8VIAAX0XgrVL7HDCHGcCaWrV60LUBN8Dae58aQIxEqcA592I9M610JL0cpG/U9TIHJNKY3RV5z0R+7Nd4HZ0P1g/2RMBuegLAsRMnb4vT8d5vqKfMzOgtAlADrkmqGywmiMBTwfr3dC9j1Xv/r6Tvg/5/5ejxE6cO7M9faVbQZrYNOFSPmqQvVo9FKexvi5uWX58943aM7DwAfBDY+FbSCxP5sdkGx55GeguzrUEXPaSo2pFkAbiSZQCAzZJOmdkjwd6SpB/M7KykQTPbA2wDhoIzRzcNDx9MJwGNIXdJ0mEzmwbujL7dbma7gd03A7lKfnTOvf74nl0r6bonTUbujRSUCrm2d4L3/kvn3JPe+8+BDW2i9o+kT7z3kxP5sYsA6W47oE64TsR7P9tQL4vA2mh9WdIscKxUyJ0M7aR7acOGzikD65EQLEjaa2ZXzMwDFeB6qZBbbLTRE4EGeSaozNOZgYFf8qP7lmIvs354n0qlHpB0T7B9Ogl4IgJJrmjv/SiQjbrkD+BMUkfSbYATPdckrTOzkciWAXOlQu5cYgLdPEIapud9wMOR9zVJH3ViKx333mtHMJvNuoWFhZ3A+ojMcja77njXBEKwJJfTcqUyCIQ34Mf7nnh0paMnXacFuGoC1mr3AtuDfLzd8Zuyl+rfuGn4HLAD+Az4qZQf+61TAj0Noj8vX6oC35SL43u7teG6rf5+iXppwW7/JUL5D03qaFRvvUe+AAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-zoom-out {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsHgty9VwAAA0FJREFUWMO9l09oXFUUxn/fmXlpItppi22k7UJBRSlVkCytSAuKUloIdjKT0El3FXVXdVFKRVAQV7qQohsNwdA0UFvBhYtqUVyIVlRaogtFQVq7qSTVjA3z3nHzBq/jvPmTN/Ss7rv3nvN99/y794kByMzcfE/7picn/jenmwWeRUI3E7wdCRskuCSTdDfwBvCtJEdySV9KOhpF0e0/LF5SqKtBgbv7ZjObcvfXgShD9Zqk5+orKx8Oj4z8NT05kU1gZm6+bdK0Azezu9z9hLs/HoIBvwAF4H5gKFh7B3gBWFY3460kWve4+3oze9fdx9OpVUmvmNlMHMf1RqNBFEUldz8OHAxUX9q6bduryut+Sfvc/Wz62ZD0fK1afjND9y3gGSRwv1GMojstTxUUCoVhdyopEYDzKXjWwZ4FFnEHWBc3Goet00m7lZlZYQixKw0FZnakGZksHUnHgvCN5/KARBH37enpOVg58H13HV0Kxg/kIuD/ngSA2ZMLt3bTSZJkUzNk7k4+D0AM/CGpaXCyBw/sC8Y/qZd2GpZiuL9YLN4Sx/HpoP5/c/exQ1OVq+1yyt13SLoArEsJnMjlgfOffvK3u58Kprab2QezJxfG2iTzUzI70wRPG9jbmpmb95SNB9mpzp7/j2yVdNbdx4K565K+cvfPJQ27+x5gBzAS7Hlvy+jo4WIvoC3kWpcvS3rR3eeAO9K529x9N7C7zX6AC2b28hN7Hl1Vt44niVq13LUjmtlYkiQfA5s6eO+GpDNJkhw9NFX5ueNt2ARodyF1IHIN2JiOl4H16fiKpK+B2Vq1vBAqFAf4IJkGNiIhWJK0192vunsC1IE/a9XycquNXARa5OnApeeioaHvKuP7r3dTGsiLqFAo7JR0T7B8rhfwXARa2us4UEqr5Ffgs151i/08oTNKdIO770ptObBYq5Yv5ibQq/sl3Qc8lJ4+lnSqH1vFfp9koZRKJVtaWnqkWXqSVkqlDe+vmUDWpZMlK/X6MBDegKf3P/nYaj8ErN9fqZBYEsf3Ag8G8Xit33BaniTcvGX0IvAw8BHwTa1y4Md+CeRqRL9fudwAvpienNi7Vhu21uwflOT+L+i1X2TJP57iUvUFtHWsAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-help {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABltpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMzIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDNDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMTIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDMjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNjoxMToyOCAxMToxMTo4MjwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cphjt2AAAAT7SURBVFgJxRdbaFxFdGb2bhui227BWrsVKYgf2kJUbP9EUPuzEB803WTXJjH61Q/7Ya1+CMYKEVTsh4J/EpvY7BoabUiNiA8s1p+4KIhpoUUEselHqyS76TbZ3HuP58ydc3d2u4+IkQxczpz3mZkzZ86VYpXjvenpjZsLhUcliE4AuUuASAgptmt1EFdwPiclzIIUUwubNn17OJlcXo1p2UpodHRiux9xB1Eug1+slbzhFxGOKc851tu7/0oznYYBDA8Pt0U2tL8KQryIq2tvZqQhD0QJHRz3yqWhgYGBpXpydQMwqz6NCnurleCSADkJEfgKfOePqL80R/wV1ZaQyr1LenKfkPCkEPKeaj0xg7vxVL3duCmA0Vyuw/fl52hgBxsBED+h4Cv9z3R/zbRm8MTJTx7HQN7GQB6w5C4L4SX7M5lfLBpurjXMyvNIShiyi0l1pL8n9b7EDGPR8fHxzSsQ6XDB3618/xqo6Pk25V5MpVJllgHM1BO58RdQ612kOYZ+GXdij70TYQB05mpj+1kU5G2fB+l3PZtOf8NGx6ambnMXb3yAxg8wjSEG6OKKR9oicBQD+ZvpH2Wzj0lQpxCPG9qMv1x6hHNCsSAlHM7ZOa682vlI9tRDbvHGbD3nZAPpDoD/3JIrLpAs26UFkC3EMUA99hpfGtEBfJjNJnS2Gwnadnvl+Xw+iuc3DAJuNyIaSCHpilVldyDjjUxj3WDZIAhxhHHyRcdNuA7AAfUaXzVKODpzFiZ4/uLvh5G+m2no+C/pyIf7MqlEJB7bpqR6nXkEUfbeawuLaZsW2ISfNQ2vtaktQlGFQyIVGT0o2+2EC4iQNGwjBIN9qdQ5Qg4mk4X4rW3vCClLtowE2FOFUxKDfNmiZci3ovKKRFPh4FK9q4Zbdr+lKKJiA13TcHR2dmLBgdmQ0GAS2MZaEowY+XbAk09IvgtYZGp16SyvFhaHcIUh645t8T9DBCcnz5zZ4hZLu3DzK2QlL1QQa0Y+pHiJKPSuOGj3PmZTheM5w2TwqBxnvBZOTk7G5gvXJ5Aelms8wnJURL+olSWcfEhf6gDoUXPMq6ZlqbzWU2pE+3hi4s6F68tfIj9cBMlikr7Z0/P0b/X0yIcUXsDCF1WhtL4OROHaXk+xlkbV0Cu732Nmhc4peaWSg73pA8dq5RkvO37ldUTfXCKZv2q45MkhvG87WQEzpCCUSvV1d9GONBy3lMvgKSwrZig8gjAietWY0QriylO2jIo4yVbOSb7KB/qmI9BPKjHpSSXYauRyn92Nq9/Kcrj13x3s3v8D481glQ/0raiNYgX9njPSBOImbrHZePl+tfFmc9sH+Xaoh8NjOKSVdDMhjjYzQLy+dFceH5+IJQf9VYXX4tROg4ZFU8m31M3mfPEqUoJqCGJfvWpo2xnNfdrhC28n06SCeSzNZxlvBINGRXCtKS7EY1uV6V7HWAm38y1cXaXsMcOCvr9ySPj+af7A1U2HJXHzVNvUXVLIGyPf+jV0pf8GHoN+TLAyPkidTCi2RpPApmnR0Bd1zGRaB/B8Oj2HSw7LLbVR1MmskW8RdEWVXSJf3JbpAMgRtc4IZoxTh9qotQjCasm46M0YX9pV1VmbpvRH5OwwgdRtSg2vKaAz/1dNKVtb17Y8DCL4HVufHxMOYl1/zTgIgiYvBnFKfaNp3YjTdPz3n9Na8//X7/k/O1tdwopcZlcAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-hover {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4oVHp0SwAAAQJJREFUWMPtlsENgzAMRb8RQ5VJItFDOgaZAMaAA0iZpN3KPZSoEEHSQBCViI/G8pfNt/KAFFcPshPdoAGgZkYVVYjQAFCyFLN8tlAbXRwAxp61nc9XCkGERpZCxRDvBl0zoxp7K98GAACxxH29srNNmPsK2l7zHoHHXZDr+/9vwDfB3kgeSB5IHkgeOH0DmesJjSXi6pUvkYt5u9teVy6aWREDM0D0BRvmGRV5N6DsQkMzI64FidtI5t3AOKWaFhuioY8dlYf9TO1PREUh/9HVeAqzIThHgWZ6MuNmC1jiL1mK4pAzlKUojEmNsxcmL0J60tazWjLZFpClPbd9BMJfL95145YajN5RHQAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-crosshair {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEUlEQVRYR81XXVIaQRCeHqug8CXmBNETaE4gniDwIgpVspxAbxC9ATkBkCpQ8gKeQDiB5AQxNyAvUlrldr7eHxyGXZi1rMJ5opbp7m++7un+htSGF204vsoMoNXrlzSpfWa1oxQfhAegCZGaEtPorHo8znIoJwCt6+td8uk7ApUQCIHTF4BNAWzImq8ap6cP68CsBdDp9i9ZqXM7ML79g/EnCWD+jgMKENKqWT+tXK0CkQqgNRjs0OxpQIqKhoMxaG6/6JeRnK7T6yO2UvVqhYSlLX+ryORfgKn9ORDFIy7ky41yGcwsr0QAQfDH5zucOswx819fs4egI9OFCcD8DjBF7VNbEX0JzdWEt3NHSSASAcCxBDqMgt/623kvyTgNgNjJIfTjk4D4FqaJR1715MjmYAmA5Bx3AwUXQL+t105KaTlcBSC26XRvhjEIoLiq1yqXpr8FAGG16/ug4IT27fxBWu7EiQuAiImJpEMKE6nYM30uAIDDttSUOPfJP7JzbjPhAiBIh9QE67vIvoOi9WJfCwDavf40ulpjbCqmUf+W753ezURuh7Dg1SqflwAEHU6pgfyBq9Y4qx0LG++2fnZ/eUzcstmdM2AWH+jfc+liWdBJfSENf8Lifi3GVwC9mybOfi5dzatWVrbbLIHNva8p5h/16gkaFiLGGxbufkoE6XguwePiXLF3XmMfCUCUAqtKXU7sumd1CowOuJEi3Pg1FBpjitIGhyvVSfvmjci6ZR+rFQfDiPVE2jFYeICQ+PoewwjC5h7CZld6DBdyu6nDSKgzOyIMhmhK5TTqXYbRorZYM46TmpKAAOrGWwSJJekSB1yqJNOzp1Gs7YJ0EDeySDIMtJbQHh6Kf/uFfNFZkolJICRmz0P8DKWZuIG2g1hpok+Mk0Qphs0h9lzMtWRoNvYLuVImUWrmPJDlBKeRBDfATGOpHkhw670QSHWGLLckmF1PTsMlYqMJpyUbiO0weiMMceqLVTcotnMCYAYJJbcuQrVgZFP0NOOJYpr62pf3AmrHfWUG4O7abefGAfwH7EXSMJafOlYAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-lasso-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgwlGP1qdAAABMBJREFUWMO9V1uIVVUY/r61z57ZMx4DnbzgkbQXL5iCJphlWdpIGY4jpFBkEiU9ZNaDRRcITcIwMwgxoQtU2IMXdAZfMjFvpERXYiSbysyBEXFmyuHMnLP32uvrwT2xnY5nxvHQ93Jg7fWv71/r//7L4a59TRgqJk+Z6v3a+sv0OI5nk5wu6VaSVZImAThHsgjgrKTvM5nMUWvtmf5n8HodCIKgOgzDhc65pSTrJQWDsSNpJX1ljHnDOfdT37oZLLHv+8OMMasKhcIJ59xHAJYMlhwAJGUAzJfUTHLFuFzOG5QDU6dNMyQfs9Yedc5tBpAD4IYYNQGoBrDtQnt7/b0LFrJsCHzfn2itfQfAnZLiazytA3AaQAuAiwDaEgeNpGkkswAWSBqRONB38b88z5uTKePt6iiKXkk8jq+iJC5LOmiMaTLGHLPWhmWeHr7vV0dRtATAapAzIVmSo51zyzIlbm2stesFPA6pKk0r6Ryg93y/ek8YFvPOOTg3cDSiKCoC2OP7/rEoirYm4rUkF12lAWNM1lr7lqQn0+QA8gI2jBg5cj6Aj8OwmB+KAKIoukhyp6SRJAUgl0ndPLDWPi9pJQCbuviXvu+/GIZhW1dnJ24UJFuTjCCA2ADA8sYGWmsXS3qmL94kDYAtkh4Nw7ANlQJ5U6INT1KrAYC9zQdykl7nFSj5fXp5Y8NWVBhy7mUAjqShMYdMXV2dJ2klyRwAJ8lIeuGWCRMP7N7frEqSG2OmAFhKshNAp5wrmO7u7jEAngPQm1S2z2pqapr+OPt7XEly0oxwzq2RdFmSD2AMgKKJouhhAL4kA+Cs53l7e3t7uytJHgRBreTWkXwkKVJnJD0B4GAGwIJE9R6AFufc6UqSZ7PZbD6ff5dkA4CQZEHSqwAOISmXtwGIE+F1SeqqIP8d+Xz+C0mLJYWSAODteXffczjdDQNJ0BWMCoLg5gqIbRTJNwHsljQhUb0luWPM2LE7Thw/9m/5NCT/TByxAOYWi8X6/gdWV1dnfN8fNRBxJpMZTXKdc+6IpFVJWAEgkvSJpA0X2tvtVTaSjgOYBCAEEADYSHK87/sfhmEYA9gShuEDkgzJHyWtB/B1irQ2juP7ADxkrX0wOUOpzmdpzEY590HJ7Ni1r2kSyZOSiv2+hSRjSTXp/QAukzySNJOJkmalyNIl10hqMcasdc61XDNcQRD8BnITgNp+36r6kfcNFMMlLQGwTNLMEuQGQBfJl2bdPru+HDkAZAqFQux53jZHEsC6aw0eg2gylNRBcqcx5v04ji999+03AwsWAOI4Lsy9a94WkisAnE5a5WCJYwCfA1g7LJudI2lTHMeXBm1faiQzxkyRtF3S5CTupeAB+KG2tnZFT0/P30NO2VKLzrmfAbwGMipjG5Oc0dPTc0Md05SZ5U4Q2FxChErtEYD7jTGNQ3UgM8Asv90Yc9I5LSKRlXSI5CxJa0jWSALJjKRnAewfkniT+vwf7N7fXHK9rq7O7+jo+BTA/NRrdBpjnnLOnUrvXd7YMPQXSBunneno6IhIHgYwW1JtkgmBpBkATlVMAwOk3nFJ+VSoqgCMr6gIy2FcLtdKspAedyQN/98caDt/3kpyabUmf8WvG/8A1vODTBVE/0MAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-pan {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4lKssI9gAAAOtJREFUWMPVll0KwyAMgNPgoc0JzDX2Mtgp3csKErSamGabIEUo/T6bHz0ezxdsjPJ5kvUDaROem7VJAp3gufkbtwtI+JYEOsHNEugIN0mgM1wtsVoF1MnyKtZHZBW4DVxoMh6jaAW0MTfnBAbALyUwCD6UwEB4VyJN4FXx4aqUAACgFLjzrsRP9AECAP4Cm88QtJeJrGivdeNdPpko+j1H7XzUB+6WYHmo4eDk4wj41XFMEfBZGXpK0F/eB+QhVcXslVo7i6eANjF5NYSojCN7wi05MJNgbfKiMaPZA75TBVKCrWWbnGrb3DPePZ9Bcbe/QecAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-xpan {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4X4hxZdgAAAMpJREFUWMPtlsEKwjAMhr/pwOOedINJe/PobWXCfAIvgo/nA4heOiilZQqN2yE5lpD/I38SWt3uD9aMHSuHAiiAAmwaYCqoM/0KMABtQYDW11wEaHyiEei28bWb8LGOkk5C4iEEgE11YBQWDyHGuAMD0CeS30IQPfACbC3o+Vd2bOIOWMCtoO1mC+ap3CfmoCokFs/SZd6E0ILjnzrhvFbyEJ2FIZzXyB6iZ3AkjITn8WOdSbbAoaD4NSW+tIZdQYBOPyQKoAAKkIsPv0se4A/1UC0AAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-ypan {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4anK0lywAAAMVJREFUWMPtlzEKwzAMRX/S7rlpIMXeOnaLaME36FLo8XqCdNFghGljyc4kgQi2Q/SUj0F/eL7eMMTKz6j9wNlYPGRrFcSoLH4XxQPvdQeYuPOlcLbw2dRTgqvoXEaolWM0aP4LYm0NkHYWzyFSSwlmzjw2sR6OvAXNwgEcwAEcwAEcwAEcoGYk20SiMCHlmVoCzACoojEqjHBmCeJOCOo1lgPA7Q8E8TvdjMmHuzsV3NFD4w+1t+Ai/gTx3qHuOFqdMQB8ASMwJX0IEHOeAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-range {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTgtMDQtMjhUMTQ6MDQ6NDk8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy43PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrsrWBhAAAD60lEQVRYCcVWv2scRxSemZ097SHbSeWkcYwwclDhzr1Q5T6QE1LghP6BGNIYJGRWNlaZItiFK1mr+JAu4HQu0kjpU8sgF3ITAsaFg0hOvt2Zyfvmdsa7a610Unx44Zgf773vvfneezPHNzrbhn3CT3xC3wPXYOC8LDzqdi8YY/gwh4BeknS/2th6dr2kf94AOp3OFyWgMyziOPbMDxV9FTtJnl1ut795Xd0/YQ0/vtYQwMT1KXWCfr2IjOWwtNehwN4xL9ykTrm6Pzl58yLn3J+mKh9mXbT3uRjGEDph+O8/TjfP5dBp7Ha7AX7O3o5nZeD/0E/OGyXntDgzA0X6qmCnrVutVlrUWV9f/3xo+pwhGDhvEPHOjoxnZjJggXmMHzBQ7NGNp9vxk61fr0HR7e/u7pZzCGHlc7qwBYYTT7tJYSx1AQzppyFPft5apta9w7SKcn0b7P7+/jCsDQ5mbc0dCmIJGDN0ehdcjsmkm6A6KUeKFOTE11PLxrC7Ukqh3ylL2fT0NAP9q6ur6rRCJJYsbKB0JsbCKMuy+xREePDyxQPCz+Crlw062QcA5wBOOt1l6vIl2WiI9F1fN6Q+BBqit6hEC4Hk08GQJMn4myjSP7RavVxgdaVUh/3U6HCMsPr9pYnJKRziHtWQ+un58+hGs6nsjQSjpuTyKGN3CX+FBwHXSiEVgjP+O8X6N12kIePES+GzTKAkGbNp8yJsGUMVzz8jPKReiyAQRimy5/cjye5RpF8utFp/+nwmT7d/NMzcFkS7yjJNGDaPURQxIQThEQy0SyF4l5WJYYhBa816vZ6dU7A6CAhbZVow/pDe0O9hVOoCi13r4BgBAvJHqMSQL2vE/iH6IAXEwgrRVUmBoRRwnwJQT98xEeVeSUyB4dJ5nwJBKdCFFGRmUCcu7rwIYypCTblaChuNBhWODrman5ub+4v0rMNBt8z6Ezh7GksJQpCbm79cMQE7QBFm/X6f0rjWnv8WRYg/QdbUpwDAEBy8vPyA8rNGzg3a8MiElwiM7dAtRqNoNptjGPM1laVxP9umWEMGLOKhKUOJDtBwDmzsw9fC/CzHr9SGuCTi2LbbKvVtmqXpCjMihBFa79Wrt5fGx9PDzc3fmu32Lf8qFliwU9emKhBSp+kRKn/hu9k1COEDbFdt/BoKWOAkuEbdVYyoIXv8+I/QK9dMHEb1Knb7MHOv8LFFOsjzCVHWOD7Ltn+MXCRF4729vWMDK+p8rLkvwjLg4N4v741m5YuwCI9CvHp1Ha8gFdBoPnQAkGsYYGxxcfEI7QQlFCTGUXwjAz4tWF+EpymOWu7fglE7qsOvrYE6g4+9/x/vhRbMdLOCFgAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-polygon-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjc1OfiVKAAAAe1JREFUWMPt1r9rU1EUB/DPK0XbqphFHETo4OCiFhwF0V1KHbRSROLqon+AUMVRRFBwEbRFMBiV+mMW/wIxi5OD1kERRVKRJHUwLvfBTZrU5OWBGXLgQu7Jfe98z/ec7z0vKa88b2q1BDtRHdAPBaylm1NzsxsOjPnPNt6WSWprbft+/c3I3zOAjhT1Y4+fvcjEQJIXnVECSa+AhqIHqlHH5lWCZoe+Gk4GRgDG86j9SAUdlDBSQaZhlOkuHyoVdJmsw98D1S5fM4NYM1LCpqM+Lwa240oLgmZzpVZvzKT75VLZcqksSZKWlQeAy/iORVwIvh31xvotvK7VG3Px4aWHj3Jl4C2uYSvq+Bn8v6LLbaVWb9zsBiKLCvbiNG7gLm7jAYqbPHMJMziZ9lsKoh8GtqCEVVzHftwJn+TFHp4/hg8BSCYVfMOZoPEv2NZGdy9WCGUr9toDR3E2/H4V6nwRe/BmgN65H1ZhvMuB3XiKIyFoGefwO6ysVkUlrNUNsyAK/jli533Q+Y8cJFvAeXyMS1CI/jiMr/gUtD2LQwMGr4R3p7bY3oQHQ5b38CT4D2AXXg6YcQXHpyYnlqKsi5iOAVSwL9zd7zJ09r+Cpwq72omFMazjT9Dnibym0dTkRDUKrrgwH7MwXVyYB38BstaGDfLUTsgAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-redo {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4itK+dVQAAAaFJREFUWMPt1L1rFFEUBfDfJDaBBSslIFjbaSFp1FJQFMVCHkzhKIqdUYOCoBgErVz8rCwiTDMwBCIKipDWyip/gxAIWAmBgBC0eYFh2Gx2l9lFcA5M8e59782Zc84dWrT435Hs1siLchqn43MS0zgW22vYxjesYjVLw3YjBPKinMUTBOwf8J5fKLGYpWFjJAJ5Uc7gIW6jM6Kim3iNZ1katgYmEL/6I+YasvY7Lg6iRpIX5VF8wuEe/XV8wGf8jN6LWTiAc7iEQ7ucPZ+lYW0vAtfwvlbfwCKW9gpXDOv1mJvZHiSO91MiyYsyiQSuxtpXXM7SsDmM5nlRdrCMMz3sOJWl4Xevc/vwBzdwAl+yNNwZxfRI+GxelK9ikHcwh8d4NNR/YFRES1ZwoTYdR7I0rNf3TzVNIGbmSvR/Bx08mIgCFSVu4l2ltIWD9WxNGR+W8KOynqnZ0rwCeVG+wa0hjrxtWoF5dAfc28V8Mib/n+Nev5dnabg/zgw87aNEN/bHOwVRiRe4Wym9zNKwMKkpgIWKEt24njxiJlq0aPFv4i9ZWXMSPPhE/QAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-reset {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4gWqH8eQAABLdJREFUWMPtlktsVGUUx3/nfvfOlLQaY2IiRRMQIRpI0PjamJhoVASDvNpCpYw1vJQYSVwZwIVQF6wwRHmkAUof9ElrI6VqDAXcID4TF0IiYQMkSlTokNCZ+b7jove2t+NMH7rQBWd3v+989/zP+Z8X3Jb/WGQySvUNTQBJESkNguAVYIWqzhaRhwBU9WcR+QXoymazn6jqzUQiMQSQzWZRVdal1vwzAI2tHQBPOuc2AbWTdOyQ53n7nHNfRwee51GzqoIQMCLDpr3x/tLQ0oZzrk5Vj0/BOEBt+KYuOlBVGlrahr0Wob27t3gEjnZ2AyQzmUwHsDgP6J/AYRE553neDwDOuUdU9QngNeCumK4TkRMhZUORcYC1qysLA6iuSQHIwkWLD6lqapQsuSmwTVV3h99I7EcAR462A2xR2Ilq6ehTaejvO1774kuLNALR33eclsaGsQDe3fYegHl43vyNwEeqGl1963mm2jl7YZRTQ82qlWP4HM6ZToC5ztkW4LHQoALru7s6Di5dvlIj/e6ujrEAWoZDn8hmMjXATMACGaAVuBjXTVVXFc/AxhaA+4zvn1DV+eHxVWPMAmvtb5GeMWZyZVhI2rt7qVy2pOh9U1snwIPW2vMi4oWJuBPYHkVAVScPoKmtkzVVK6cEMsyJraHhiCqJqJUwj/JRz7TW1iSSyR2rVyylqa0Ta+24Ic8vXaAEmDFc/l5Z2A/80OibuVyuz/f9ElUdHCmvw82t5HK5h6y1PYhsz2YyGw43t2KtBZHIGwB6+j4rCkBVUdV7gXrggnPuu8h4eP+xMeZS2D0rJYZ6AdAMzAt1b4nI26p6IFZOY8pugijcKSIHVLUK0LyST4vnrVfnWr3mjmP4QTATaERkXkypRFX3isjmuHdRJEK6Ckqquopp06bdKCkp2Sgi7XnGLcg7gzeutwNIiPYc8HixqIrIOlU9ONVIhHPEd851icgSVXUiskVV94gIqoonIt0i8gfQCfwae38e6BWRXuBZz5jZ8VbaOE4EIqlZVUEQBLlkMplS1QER2RwkEnsSyaREDUzyeNsvIhvCMqkH1kdIJ2o+k8iJB1LVVRfjZ6nqqlEAIbdVQGto8Lrv+/dbawcjAL7vc+6bs+zetetfLSHxniIFGofGGsU2oC7eOCbDfZ7nQawBOSAX74SF9oEPImOq+r7nmVmxb5raukZa8UReGmNmhbMkAwwBH467EYVZe49z7kdgenj8k7V2oTHm8kgdWcvrNdVFjR8cHkYzjDH9wLjDaEwEzpwa4MypgWvAjtjxfGNMj4jMiT+M+kFsZI/Q6Pv+HGNMT8w4wI7TAyevxXVPD5z8+zD64tRXAMHVK1eaVLUyVvuDqroV2BOnJF4ZIedviUidqt4Re9s+vbx8zZXLl7PR2+nl5Tz/zNOFp2FzxzGAklw22wUsLLaSKXwf8vhosZUM6PeDYEUum70VHfpBwKsVyyfeikOP6oBNwN1TrLbfgX3A1kKLzKeff8nLLzw38T5wZDgxn1LnNk5lLRfP26/OnR2hwfNYW2Atn9RCsrf+EECyrKysDFimqhXhyjY3VLkAXBKRDqA7nU6nS0tLhyIj6XSaN9bVclv+l/IXAmkwvZc+jNUAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-save {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4UexUIzAAAAIRJREFUWMNjXLhs5X+GAQRMDAMMWJDYjGhyf7CoIQf8x2H+f0KGM9M7BBio5FNcITo408CoA0YdQM1cwEhtB/ylgqMkCJmFLwrOQguj/xTg50hmkeyARAYGhlNUCIXjDAwM0eREwTUGBgbz0Ww46oBRB4w6YNQBow4YdcCIahP+H5EhAAAH2R8hH3Rg0QAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-tap-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOTJBQzE0RDQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOTJBQzE0QzQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eYZ88AAADLklEQVR42rSXf2TUYRzHv7tuGcfE6Vwb5zLSSjEj7Y9KWqfEmFZJP+yPMdKKmUrrn0iUfjhWlLFi6YfNrF+StBoTo39iYkTGco4xxxG59P7k/T2PT8/37nu3bx9ezvPj+zyf5/PreS78bGLS8SmrwE6yje3NHJsDBTALpknBz6JhH3NiYAB0gHqPOVv52wJ6QQ48BzdAttTioRJjdeA8mAHHS2xuk3p+M8M16ipVQE49Ds6CiFO9RLjGONf05QLx6wPQaBlbBlPgJVgkP0ETiIJ2sB/E1XfimjfgBOOlKDUqCGOcqBcQnw6BYW5YTo4wbvQhMmCfGRemC2rBiGXzWUb+kM/NRZ6CHWBM9ce5R61NgX6ayhSJ5EPlItlDRNkz4JbFHf06BkSzHjXxM+gDv1S/mPUo2AXWgt9UUHL/IVhS8yUV1/EbV3o4N+NaoE9Fu/i827K5pNYHnqAVJECShWmAaddpscYFFXwR7vnXBRGlnUN/L6kqKJlxnRUuDbaDBiL+vst5d4gpcpBrqk/2jIgCKVUolhntplzivHmwh4stGOPfwBWwl/2dpp8p7xjQZqFLiQJtauKkivYm+kzccpK57yXfOUe+P23JqAnVbhMFmlXntCWnxbT31am9ZJ4BJifsUmNTqt0cYhA5ypympPg7VkEKunPbVb8cIG+0kyHLJZNR7fUMooUKFHAPkfQo58VLK+RzwRDd4FdWG9mjpaAXzqkJa1R7kQttqEABWXMjOOxxVRfnhRm5URX1prk/0pQHwNcKlchZ+jdpC+hFdVqO0my9Hj5dkYgCn1Rfh/KdlNDHrJhPqlDih+IfBd6qwpOgEqYMsorJ2HtWxtagLJDn/W3KRfPOZhoeBJfZPgVeGKeKrkQBh5dLXl25Ny3pc4/1fkTdbvFqFQgbxWeYD0hXulhQ0pYiM1jG547fcbMQpVnHTZEn9W3ljsCzwHxCdVteNHIZvQa7/7cC7nV6zHIfyFP9EXjFa7YxKAVqPP4bxhhoLWW+z9JyCb6M/MREg59/RlmmXbmneIybB+YC/ay+yrffqEddDzwGvKxxDmzhc0tc80XVgblqFfgjwAAPubcGjAOl1wAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-undo {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4em8Dh0gAAAatJREFUWMPt1rFrFFEQBvDfGhACASshkL/ALpWVrSAKEQV5sIULWlgZNSgIFkGIVQ412gkBt1lYLERREFJqJRaW1oHAoZUQsDqwecWy7N3tbe6C4H2wxc682Zn3zTfvLXPM8b8j6RqYF+UCzsfnHBawGt3fMcAX7GEvS8NgKgXkRbmMxwg41TLsN0psZmnodyogL8pFPMIdLHUk7hA7eJKl4U/rAuKu3+HslFr/FZezNPSTFslX8QErDe4DvMVH/Iq9F7VwGpdwZUjsPtaSFjv/1vCBPjaxO0xcNbHejLpZrrlvJCMCT+JzA+2fcC1Lw+GE4l3CG1yIptfjCtiKoqtiJ0vD3aM0Py/K57iIMxgkQxat4EdN7e9xdRzlk+LEEPvDWvIDXJ928sYxjL36icWK+VaWhlezOIqbGFirJd/H7szugrwoX+D2BDEvszSsT5OBdfRaru/F9dPXQF6U27g/KnmWhgctxqyzBrZGMNGL/rHI0nDkKXiKexXTsywNGx0OnFbFNk3BRoWJXnw//j+ivCi32/S8CxPVNiWOAdUiJtXITIqYY45/Cn8B2D97FYW2H+IAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-wheel-pan {\\n background-image: url(\"data:image/png;base64,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\");\\n}\\n.bk-root .bk-tool-icon-wheel-zoom {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgskILvMJQAABTtJREFUWMPdl1+MXVUVxn/fPvf2zrSFmUKnoBCUdjRoVaIxEpO2JhilMYBCtBQS2hejpg1Uo2NUrIFAoyGmtiE+GHwQGtvQJhqDmKYRBv+URFsFDNCSptH60DJTO3dKnX/33rM/H7rvsDu9M20fDMaVnGTvtb69z7fWXmvtc/TEzqd4OyXwNsv/FwFJQVI/sA14SZKRLOlPkr5TrVYXHz70quYkEEK4TtI2YAgYkrQthHDdhV5uuw+43/ZrwCbgRttgY/tjtrc0m83X3/f+D6ydnJhYcB4BSZcBA7aP2d4ELAGW2N5k+xgwkDB0IH19CGGH7R8B1aQeAf4KvAw0ku4K2zu7uru3ApdPEyiKohd4TNKjtjt5h6RHgccSNrddbvuHtm9Jqoak7xVF8WFgdavV+pSk5cCObNmXgK++85prCj3z28HKqZMnH7D9YAY4BvwujT8BvCuL1INX9vVt+dfwcCvNb7f9q2RuSfrGvWu/sL2Nf3LX7pzvj4ENSGBPVarVd4fRkZFltjdmoMGiKO4IIWwIIWwoiuIOYDDzeOPoyMiyFLkum7WJCMDztrcrTTrIRuAQZ6NcK1utL4dWq/VZoC8BhqvV6l1lWb4YYxyLMY6VZflitVq9CxhOmL60hhCKeYiV7WMKIXw9jT1HpXw3c+bOAKzOjJubzebJrKQCQLPZPClpc7bP6rMYKtjXth2OMf7tIkr11Wz8oQDc1Fb09vY+kQw1YAuwJY2nbUluAnCWpKkaFl6IQIzxivaR2SYA89sJVK/Xp2x32R6w/a30DNjuqtfrU0ArYecDCEqgLqm94T0dEm9mBG7PxkdDlkBnkhebgIezNQ8nHcCZPL9ijE1Jf/bZZoPtzbavmqNZLbf9tSxq+yoduuJ+SZ+zXSZyBXCqU+d8fvC5yRUrV+0G2j3g2hDCLyXd/+Su3QdnvP/zCuH72LWsgf2k0oHlH2c2odlkxcpVEdgr6aDtjyb8x20/J+mA7T9I6rL9SWA5dne2/GdXLl58qNJh398An85yTMA+4DOz8Dgu6Zu2dwJXJ91ltm8Gbp7Fgb+EEB4aHhpq5CEtACqVyr3AC0AlPS8k3TSmQ2YPhhBuS/1/LpmS9JTtNTHGfwBU2uUALARotVqniqJYH2Pck85pfavVaufAwnQvnHc0McaDKVptebN94QAnJB0EdtjekydyZXqjs/0ZgLIs/w6sy8bnYGYJ63pgERKC05JutT1kOwITwL9tvzlzUQUYB+Zjs2DBgu6xsbGJZHstByZbezregcBXeCsEz1bnzXt5anLyzLq71zDLxTRdVgemdx0fv2e2w5thO5DbiqL4oKT3ZKpnpyYnz+SY2ZpTAPZmJfdIrVZbNBNUq9UW2X4kU+2dcf53Aj1pj2PA7y/6m1DS00A9za9uNBq7iqJYBuoGdRdFsazRaOzKSqye1rTbaa/tlbYrqXQP2X4FIA9/J1l39xrC0v7+w5IeB8XkwS1lWe6TGJAYKMty31tfO4qSHl/a3384I3CDpI+kzC4lnRfrue6GytEjR8oQwlY73gC0L4qlth/q0M1/LYWtR48cKQF6enrC6dOnVwGLEpnxnp7en4+O1i/tszzGOCTpPmB7ahb57QUwBWyXdF+McWg6MScmuoA8OX8xOlpvXGz422XYTsB/SnpA0h7bX5R0WzI9HUL4qe2XbI+dk3xl+V7gxoztD5jRI+YK/zkEEokx2/uB/RdzIfUtueqVN04cXwF8G3iHY3z9Urw/j8ClyhsnjrcS2Vv/J/8NLxT+/zqBTkcxU/cfEkyEAu3kmjAAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-box-edit {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4QfHjM1QAAAGRJREFUWMNjXLhsJcNAAiaGAQYsDAwM/+lsJ+OgCwGsLqMB+D8o08CoA0YdMOqAUQewDFQdMBoFIyoN/B/U7YFRB7DQIc7xyo9GwbBMA4xDqhxgISH1klXbDYk0QOseEeOgDgEAIS0JQleje6IAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-freehand-draw {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADTElEQVRYCeWWTWwMYRjH/88721X1lZJIGxJxcEE4OOiBgzjXWh8TJKR76kWacOBGxdEJIdk4VChZI/phidRBHMRRIr7DSUiaSCRFRM3u88gz+o7Z6bBTdjmYZPf9eJ55fv/5zzvvDPC/H9QsA66Olo9Ga+/MdR+Ljm2/KQIULsz9FqItGdOfJKLhApLgVkiSCGODjWit7QpKWy+TNrFeXvzKVUT8NiTVaIgDcbiCFJ7GiT8WkARXAdYBK0Lbhi/CenArRNskuM7/tgNp4ArQ42dwjf3WY5gWTqC7O/NbNn2Xkfw/YwdSw/We14HP2IEZwX+y9cZ9SH0LmgFP7UCz4KkENBNeV0Cz4b8U8DfgKiDxMWwUXETqLvJpCQpXZfawbzS7t9v5pL19cHBwfja7YA0y/lyCM0+E5hv5+piZXwKYcF23as+37bTXsQVqgkL0p/34fHR7DcBtbetFsBmGDwMOJCggYG55yw7dMlk6DuC1Bdu2RsCU9TYWQq2IoGbsreZ5NzvEqfSBsIsIy8OTbcdgiRHeh4o8AFAEwDakbY2AaCCpH7V9aGhoUUUy3UyVbkPYFuYLDlUZH8XBpwxkK0Dbgxg5HcVi0ent7a0RULMIozaHBSMfF9b2SzdutFcFB2FkwMIJOG6qfteXOa1nHZ48tyefuwyfT9s6wtzZ3t7eZse2DR2I228TtHXzuWCx9g8MtK5cuHCZTH4tiHEOa4xFngvTyS8f35d6enomiCi4/foEXBkZaQuukChL4FYA2Whd7YcC4gEdW3CpdL3LtGAVCVYJywEyTpAuJKeMOKXZs/Bw947C50KhUFOG4cwz35cjWNBlHGeD53n3xsfHP/T19U1qciggar8Fa4I3PHobIotBWBtc2hSiChyZxVzM53Pv7FVH6Tp3uVy+g0r1ImD2GjIrQGYIxjnfuXTZGICS5k/bBwJoubwEFX4TLah9EXomJGMA3za+f9913Yl4TnzsDQ+vE6YTZOjHh4ngibstt1pzQwd04F0bPStEBpXqRoBeQ/AKghfBnOEKgS+Q7z91Xfdz/HGKg8Ox7z8iYD9z6wqTkZFgnvhMGP9VZ2or1XVkPM9z0mytSfVsHa1RLBZbLoyNzUnK+ydz3wC6I9x+lwbngwAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-poly-draw {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjglo9eZgwAAAc5JREFUWMPt1zFrU1EUB/DfS4OmVTGDIChCP4BgnQXRxVHqIJUupp9AB8VBQcRBQUXIB9DWQoMRiXZzcnQSA34A7aAuHSJKkgo2LvfBrU3aJnlYkBy4vHcP557zP/9z3r33JdXa647N0kHSZd5Nn0rSxc8G3cXp85sMcnZZ8vge3osZ+l3vB8CWFA0iL14t79h210swAjACMAIwAjACkB90D/8/GchI9ve4nPwTBh5E9ws7OepzGWb9EddSn51Op9ZstadSg4VK1UKlKkmSDSMLALewiuNh/hVJq71Wxttmqz0dG88vPc+MgWP4grvYG3SLOBrZFFFrttqPe4HIDxh4GSei+98iSlusuYopXEAjBtEPA3tQwUpwluAbDm4TPJUz+BTW9l2Ce6G7L0X/Bw8D3T/7SKKIDzHg7QCcxjvcQAEtXAnrrg/RP0/DKPbqgcN4iVOR7gcO4dcQgRuoh7HSqwlP4n20m63jJu5n8MkWMYfP3UowhzdR8FU8w9iQwevBdyq3/27CMRzAE5yLuvsRLg+ZcR1nJ8YL81HWJUzGAPaFZwe/Q5MdyYDyNHgjzO90YyGHtVDncuiJchaHw8R4oREFV5qdiVmYLM3OgD9k5209/atmIAAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-point-draw {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEiERGWPELgAAA4RJREFUWMO1lr1uG1cQhb9ztdRSP7AF1QxgwKlcuZSqRC9gWUUUINWqTh5AnaFOnVPEteQmRuhCURqWsSqqc9IolREXdEvQBElxtdw7KURSFEVKu4w8wAKLxdw9Z+bMnRmZGXfZ29//II8th4WwGVNyIoQLYB5vxA9Caq04iUd9A+7ZlsNC2I7TdSd2hZXMJKlnTqp9jtl/GBaqoyQ0noFKpUIzBicYYc+DEFpxkglc4oVJa5gvDn8v1xV2irG3FM4NSVwjUKlUaMcpJhCGmSEJQ6QGD8M5WnHCd8+f3QCXpPLx8WNwv0j6Bm9FMK7FJ3WBE+R/2t7c/GBmFvSBrzRTCsyTDjXrxUgEMtpxynJYmJoBJ4VAybwVARgvL7Oik0okCodnKpVKX7P0leiVMb0VvbJT+upznK4vh0GIeQwwQStJkHQD3MwsCALTJRG7Qrdrj5m/djgYaIa0hlkRdJk26XEgC9txurccBtVW3IudBImmZuACUP+ZlIDBt9FKcubYNTcAH/X0RYM1E7utJPlqe+uZzPxUcEkiSS4sTT95n15Mud0xWC0o2PAWOCdK3KYZlFxfM+tHOcnMzNr1es18ug+cgsVjP4yBU/Ppfrter1m/+l0+zYygML1xRVHU7TSb1cSzBzoBzszsH+AMdJJ49jrNZjWKou6wBnwOzcyndBpNbuueURR1Dw8Pq35p9cc5p/Dy9Dypt7jXrtdGwQECS9NPhr6Gq6txUzNigE6zydLK6lTw12/KT4FGFEUfJX2YJNONq5tVs4ODA7sD/DnwJ/BoADZuE3tHFs12dna6d4C/BI6AlbyzI8ii2TTw12/KK33gb2cdXsNZoAntbZC2SeO4c9592k/5eNQbiwvFd1kJuFGwLJr1wSPg/SwpvyFBHufOeXcFeAlE97U/uCxOY+P3b+Bn4B3Q+L8EdJfD4a+/AbC4UBzPxiPg3wlHZquB28Cn2IuR9x3gr3uV4DbwfvSDOvi4uFA8BDZmIRHkjHpS9Ht9iRqd8+5G3g05mAGcQbsdiX5QJ428G7Kygo8XYdb1/K4NWVmjzkNge2sz84bs+ELmpDDLtqWsNZBXgvmw8CTtpWVMT7x5YWBjLARnwZfKQNYN2U2LPvrh+5nBt7c2M2/It9bArCTKR8eZN+SJ13AScPnoODeRdqNenH+wul5w2gUr2WUjMFAt8bZ/0axX/wNnv4H8vTFb1QAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-poly-edit {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gELFi46qJmxxAAABV9JREFUWMOdl19vFFUYxn9n9u9sCyylUIzWUoMQBAWCMdEEIt6xIRQSLIEKtvHe6AcA4yeQb7CAUNJy0daLeomJN8SEULAC2kBBapBKoLvbmdl/c14vdmY7u91tF95kknPOnHmf95znPc97Ro2OTeBbdjFDT3c32ZxVHUOE9kSMB0/m6ExuoJn1H+ur6Y+OTfD50SMN5168OgrAlyf7CfuD+z7+iDs3p8hkLUQ0iFQ/yFl5Nm/qonfHVva+s32Zw9GxCYILsZ08tpNfBhbs+1YN4OH9+7huGdECSBVfqUosbsllfmauBqiR+cCNwOr7AEo8pPHJnymXykhg5fUWjoQpl0vVvhZhbSzGoUOHqgBlt6B6uruj2Zy1E9jo0fhfeyL2x4Mnc8VErK0KUEOB64JSyptfG4RSytsJjUJVxw2lsFy3urL9nx1Qd25ObctkrVMi+jQivd7U2ZyV/3Hzpq7h3h1b/7p9Y0o8v8rwAbTWrGpSocN/FGDlbAI0Rl23PCBan0Ok158H9Ipwzi25A/Mzc9Gl/BYx/E4kYqC1NKRARNAaDCNUM27Z+Zr+ouXs0q4+LSLBHPYCFkTkC6uU39kwCdsS7WRKmaYUiAhdnZ3MPX2K4+QjQI+C94A93rMzm8ltMwyDeDzWjMZeEb2pYQDdW3vITU2jtUZ5QThOPgm8C7wP7J15OPsBsB3oWpGnVWisCeDS1VHj4vBI92+/3tgB7Ab2AruAXiDBK5oIOkhtkEYRNRuJhObrd8Dl9ewf4D5wG7hVLpen29vb5wzD+BrkbBMaL3d1dk5nsrnlFDTTFWAWmAZueWD3gCemGde2k2fw1Al1YXhEvjozoO49eczdqekrWmsc2zlrmvEKOGoW1GUjFLqSk2KpJrCLwyMCPAP+BO54QL8DM6YZX/ClsP9YnwKkXnIBP4jdIpJRpdJTCYdMwwi98KU0Hjc/dDILNyUcwTCWdOSMJ0TRmBktGRhLugu0xyLk7CIqVNm+0bGJptl1YXikD0grpY4Rjc4a8Fbgdab/6OGbAJeCUuyJnnHmZH9pbSyGuBXV8NUwlUpR1EWyixmSyTWEwqGlJ2Swbo2JXbAAfgDGgGQA9I1A9t1tlq0AxrXxn0ilUpw4fhQqYkH/sT41OTnJJwf2s6FjI5mshdYa7bqVR2uezr9MJmJt14FvGrh/O9D+e6UkM/xyCuCqEKCYnJyUTKFQrZDHjxzGshwWLQcRsOz8Hi85P23id0ug/XilAMLBmm4tPGdoaKjSH5+oAGrhwvBI9SjZTn4QSK9yenoD7dlrExPoJlXW8G8ytpNHxRKk02lGxsdRKFwXLNvx5yY94HQLGhGk4LFCYQSqaE0AwWM1eOoEbR0dKBSW7bC4mKuffxs4D/wCLKwQQPAUzIkslfp6cVomROWSolh0GjldAM4nzDi2k9/i5UAzC9aKfwNJ3zgJg9YEvN6+C7SHgKm69+sD7RfNnKTTaZRPQfAut4oFV//IS7gkcB34VlVo8kGzphlfB+DU+TfNGBpZtRastvrvARJmfMF28ge9sc2B9/PNnCilMIDwK6y8/ow/Ai4kvILTljAXvDvEvrqKSUs60KolzPjBxspavQD2tKqCAGF/Ba+xE/Wbilu54wZV8NEKF5fXzQHl/bh4hUsE0WAXSlDMYcQSrQXgCmsTseXHsJkNnjqBFGwKJaHsKlxtUHYVhbLCzr1kaOA4bcn1y1Swmb+iLpJKpVrfgdpfsiVVCYcgluwgnU7jEgJ4s5UkLFtWYyHyEg0/N1q1tmQH+YXnAMFr97Nmv3p+0QsHQRsF8qpBOE5+rb9Nkaj50tVQKjqh4OU3GNL/1/So3vuUgbAAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-line-edit {\\n background-image: url(\"data:image/png;base64,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\");\\n}\\n'},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),s=t(72),o=t(303),l=n.__importStar(t(282));class h{constructor(t,e={}){this.items=t,this.options=e,this.el=s.div(),this._open=!1,this._item_click=t=>{var e;null===(e=this.items[t])||void 0===e||e.handler(),this.hide()},this._on_mousedown=t=>{var e,i;const{target:n}=t;n instanceof Node&&this.el.contains(n)||(null===(i=(e=this.options).prevent_hide)||void 0===i?void 0:i.call(e,t))||this.hide()},this._on_keydown=t=>{t.keyCode==s.Keys.Esc&&this.hide()},this._on_blur=()=>{this.hide()},s.undisplay(this.el)}get is_open(){return this._open}get can_open(){return 0!=this.items.length}remove(){s.remove(this.el),this._unlisten()}_listen(){document.addEventListener(\"mousedown\",this._on_mousedown),document.addEventListener(\"keydown\",this._on_keydown),window.addEventListener(\"blur\",this._on_blur)}_unlisten(){document.removeEventListener(\"mousedown\",this._on_mousedown),document.removeEventListener(\"keydown\",this._on_keydown),window.removeEventListener(\"blur\",this._on_blur)}_position(t){const e=this.el.parentElement;if(null!=e){const i=e.getBoundingClientRect();this.el.style.left=null!=t.left?t.left-i.left+\"px\":\"\",this.el.style.top=null!=t.top?t.top-i.top+\"px\":\"\",this.el.style.right=null!=t.right?i.right-t.right+\"px\":\"\",this.el.style.bottom=null!=t.bottom?i.bottom-t.bottom+\"px\":\"\"}}render(){var t,e;s.empty(this.el,!0);const i=null!==(t=this.options.orientation)&&void 0!==t?t:\"vertical\";s.classes(this.el).add(\"bk-context-menu\",\"bk-\"+i);for(const[t,i]of o.enumerate(this.items)){let n;if(null==t)n=s.div({class:l.bk_divider});else{if(null!=t.if&&!t.if())continue;{const i=null!=t.icon?s.div({class:[\"bk-menu-icon\",t.icon]}):null;n=s.div({class:(null===(e=t.active)||void 0===e?void 0:e.call(t))?\"bk-active\":null,title:t.tooltip},i,t.label)}}n.addEventListener(\"click\",()=>this._item_click(i)),this.el.appendChild(n)}}show(t){if(0!=this.items.length&&!this._open){if(this.render(),0==this.el.children.length)return;this._position(null!=t?t:{left:0,top:0}),s.display(this.el),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),s.undisplay(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=h,h.__name__=\"ContextMenu\"},\n", + " function _(e,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});const t=e(9);function*r(e,n){const o=e.length;if(n>o)return;const r=t.range(n);for(yield r.map(n=>e[n]);;){let f;for(const e of t.reversed(t.range(n)))if(r[e]!=e+o-n){f=e;break}if(null==f)return;r[f]+=1;for(const e of t.range(f+1,n))r[e]=r[e-1]+1;yield r.map(n=>e[n])}}o.enumerate=function*(e){let n=0;for(const o of e)yield[o,n++]},o.combinations=r,o.subsets=function*(e){for(const n of t.range(e.length+1))yield*r(e,n)}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(296),i=e(173),s=e(72);class c extends o.ButtonToolButtonView{render(){super.render(),s.classes(this.el).toggle(i.bk_active,this.model.active)}_clicked(){const{active:e}=this.model;this.model.active=!e}}n.OnOffButtonView=c,c.__name__=\"OnOffButtonView\"},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(1),s=t(19),l=t(72),n=t(115),a=i.__importStar(t(18)),r=t(78),_=t(9),c=t(13),h=t(8),u=t(81),v=t(306),d=t(307),b=t(308),p=t(295),g=t(299),f=t(310),m=t(173),w=i.__importDefault(t(300)),y=i.__importDefault(t(311));class T extends u.Model{constructor(t){super(t)}static init_ToolbarViewModel(){this.define({_visible:[a.Any,null],autohide:[a.Boolean,!1]})}get visible(){return!this.autohide||null!=this._visible&&this._visible}}e.ToolbarViewModel=T,T.__name__=\"ToolbarViewModel\",T.init_ToolbarViewModel();class k extends r.DOMView{initialize(){super.initialize(),this._tool_button_views=new Map,this._toolbar_view_model=new T({autohide:this.model.autohide})}async lazy_initialize(){await this._build_tool_button_views()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.tools.change,async()=>{await this._build_tool_button_views(),this.render()}),this.connect(this.model.properties.autohide.change,()=>{this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change()}),this.connect(this._toolbar_view_model.properties._visible.change,()=>this._on_visible_change())}styles(){return[...super.styles(),w.default,y.default]}remove(){n.remove_views(this._tool_button_views),super.remove()}async _build_tool_button_views(){const t=null!=this.model._proxied_tools?this.model._proxied_tools:this.model.tools;await n.build_views(this._tool_button_views,t,{parent:this},t=>t.button_view)}set_visibility(t){t!=this._toolbar_view_model._visible&&(this._toolbar_view_model._visible=t)}_on_visible_change(){const t=this._toolbar_view_model.visible,o=g.bk_toolbar_hidden;this.el.classList.contains(o)&&t?this.el.classList.remove(o):t||this.el.classList.add(o)}render(){if(l.empty(this.el),this.el.classList.add(g.bk_toolbar),this.el.classList.add(m.bk_side(this.model.toolbar_location)),this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change(),null!=this.model.logo){const t=\"grey\"===this.model.logo?f.bk_grey:null,o=l.a({href:\"https://bokeh.org/\",target:\"_blank\",class:[f.bk_logo,f.bk_logo_small,t]});this.el.appendChild(o)}for(const[,t]of this._tool_button_views)t.render();const t=[],o=t=>this._tool_button_views.get(t).el,{gestures:e}=this.model;for(const i of c.values(e))t.push(i.tools.map(o));t.push(this.model.actions.map(o)),t.push(this.model.inspectors.filter(t=>t.toggleable).map(o));for(const o of t)if(0!==o.length){const t=l.div({class:g.bk_button_bar},o);this.el.appendChild(t)}}update_layout(){}update_position(){}after_layout(){this._has_finished=!0}}function M(){return{pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}}}e.ToolbarBaseView=k,k.__name__=\"ToolbarBaseView\";class B extends u.Model{constructor(t){super(t)}static init_ToolbarBase(){this.prototype.default_view=k,this.define({tools:[a.Array,[]],logo:[a.Logo,\"normal\"],autohide:[a.Boolean,!1]}),this.internal({gestures:[a.Any,M],actions:[a.Array,[]],inspectors:[a.Array,[]],help:[a.Array,[]],toolbar_location:[a.Location,\"right\"]})}initialize(){super.initialize(),this._init_tools()}_init_tools(){const t=function(t,o){if(t.length!=o.length)return!0;const e=new Set(o.map(t=>t.id));return _.some(t,t=>!e.has(t.id))},o=this.tools.filter(t=>t instanceof p.InspectTool);t(this.inspectors,o)&&(this.inspectors=o);const e=this.tools.filter(t=>t instanceof b.HelpTool);t(this.help,e)&&(this.help=e);const i=this.tools.filter(t=>t instanceof d.ActionTool);t(this.actions,i)&&(this.actions=i);const l=(t,o)=>{t in this.gestures||s.logger.warn(`Toolbar: unknown event type '${t}' for tool: ${o}`)},n={pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}};for(const t of this.tools)if(t instanceof v.GestureTool&&t.event_type)if(h.isString(t.event_type))n[t.event_type].tools.push(t),l(t.event_type,t);else{n.multi.tools.push(t);for(const o of t.event_type)l(o,t)}for(const o of Object.keys(n)){const e=this.gestures[o];t(e.tools,n[o].tools)&&(e.tools=n[o].tools),e.active&&_.every(e.tools,t=>t.id!=e.active.id)&&(e.active=null)}}get horizontal(){return\"above\"===this.toolbar_location||\"below\"===this.toolbar_location}get vertical(){return\"left\"===this.toolbar_location||\"right\"===this.toolbar_location}_active_change(t){const{event_type:o}=t;if(null==o)return;const e=h.isString(o)?[o]:o;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(s.logger.debug(`Toolbar: deactivating tool: ${e} for event type '${o}'`),e.active=!1),this.gestures[o].active=t,s.logger.debug(`Toolbar: activating tool: ${t} for event type '${o}'`)}else this.gestures[o].active=null}}e.ToolbarBase=B,B.__name__=\"ToolbarBase\",B.init_ToolbarBase()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(296),n=e(304);class u extends s.ButtonToolView{}t.GestureToolView=u,u.__name__=\"GestureToolView\";class _ extends s.ButtonTool{constructor(e){super(e),this.button_view=n.OnOffButtonView}}t.GestureTool=_,_.__name__=\"GestureTool\"},\n", + " function _(o,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=o(296),i=o(15);class s extends e.ButtonToolButtonView{_clicked(){this.model.do.emit(void 0)}}n.ActionToolButtonView=s,s.__name__=\"ActionToolButtonView\";class c extends e.ButtonToolView{connect_signals(){super.connect_signals(),this.connect(this.model.do,o=>this.doit(o))}}n.ActionToolView=c,c.__name__=\"ActionToolView\";class l extends e.ButtonTool{constructor(o){super(o),this.button_view=s,this.do=new i.Signal(this,\"do\")}}n.ActionTool=l,l.__name__=\"ActionTool\"},\n", + " function _(o,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=o(1),l=o(307),s=i.__importStar(o(18)),n=o(309);class _ extends l.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=_,_.__name__=\"HelpToolView\";class r extends l.ActionTool{constructor(o){super(o),this.tool_name=\"Help\",this.icon=n.bk_tool_icon_help}static init_HelpTool(){this.prototype.default_view=_,this.define({help_tooltip:[s.String,\"Click the question mark to learn more about Bokeh plot tools.\"],redirect:[s.String,\"https://docs.bokeh.org/en/latest/docs/user_guide/tools.html\"]}),this.register_alias(\"help\",()=>new r)}get tooltip(){return this.help_tooltip}}t.HelpTool=r,r.__name__=\"HelpTool\",r.init_HelpTool()},\n", + " function _(o,_,l){Object.defineProperty(l,\"__esModule\",{value:!0}),l.bk_tool_icon_box_select=\"bk-tool-icon-box-select\",l.bk_tool_icon_box_zoom=\"bk-tool-icon-box-zoom\",l.bk_tool_icon_zoom_in=\"bk-tool-icon-zoom-in\",l.bk_tool_icon_zoom_out=\"bk-tool-icon-zoom-out\",l.bk_tool_icon_help=\"bk-tool-icon-help\",l.bk_tool_icon_hover=\"bk-tool-icon-hover\",l.bk_tool_icon_crosshair=\"bk-tool-icon-crosshair\",l.bk_tool_icon_lasso_select=\"bk-tool-icon-lasso-select\",l.bk_tool_icon_pan=\"bk-tool-icon-pan\",l.bk_tool_icon_xpan=\"bk-tool-icon-xpan\",l.bk_tool_icon_ypan=\"bk-tool-icon-ypan\",l.bk_tool_icon_range=\"bk-tool-icon-range\",l.bk_tool_icon_polygon_select=\"bk-tool-icon-polygon-select\",l.bk_tool_icon_redo=\"bk-tool-icon-redo\",l.bk_tool_icon_reset=\"bk-tool-icon-reset\",l.bk_tool_icon_save=\"bk-tool-icon-save\",l.bk_tool_icon_tap_select=\"bk-tool-icon-tap-select\",l.bk_tool_icon_undo=\"bk-tool-icon-undo\",l.bk_tool_icon_wheel_pan=\"bk-tool-icon-wheel-pan\",l.bk_tool_icon_wheel_zoom=\"bk-tool-icon-wheel-zoom\",l.bk_tool_icon_box_edit=\"bk-tool-icon-box-edit\",l.bk_tool_icon_freehand_draw=\"bk-tool-icon-freehand-draw\",l.bk_tool_icon_poly_draw=\"bk-tool-icon-poly-draw\",l.bk_tool_icon_point_draw=\"bk-tool-icon-point-draw\",l.bk_tool_icon_poly_edit=\"bk-tool-icon-poly-edit\",l.bk_tool_icon_line_edit=\"bk-tool-icon-line-edit\"},\n", + " function _(o,l,b){Object.defineProperty(b,\"__esModule\",{value:!0}),b.bk_logo=\"bk-logo\",b.bk_logo_notebook=\"bk-logo-notebook\",b.bk_logo_small=\"bk-logo-small\",b.bk_grey=\"bk-grey\"},\n", + " function _(l,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});o.default=\"\\n.bk-root .bk-logo {\\n margin: 5px;\\n position: relative;\\n display: block;\\n background-repeat: no-repeat;\\n}\\n.bk-root .bk-logo.bk-grey {\\n filter: url(\\\"data:image/svg+xml;utf8,#grayscale\\\");\\n /* Firefox 10+, Firefox on Android */\\n filter: gray;\\n /* IE6-9 */\\n -webkit-filter: grayscale(100%);\\n /* Chrome 19+, Safari 6+, Safari 6+ iOS */\\n}\\n.bk-root .bk-logo-small {\\n width: 20px;\\n height: 20px;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==);\\n}\\n.bk-root .bk-logo-notebook {\\n display: inline-block;\\n vertical-align: middle;\\n margin-right: 5px;\\n}\\n\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});var s=this&&this.__rest||function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(t);nt)}}request_layout(){this._needs_layout=!0,this.request_paint()}reset(){\"standard\"==this.model.reset_policy&&(this.clear_state(),this.reset_range(),this.reset_selection()),this.model.trigger_event(new c.Reset)}remove(){this.ui_event_bus.destroy(),p.remove_views(this.renderer_views),p.remove_views(this.tool_views),this.canvas_view.remove(),super.remove()}render(){super.render(),this.el.appendChild(this.canvas_view.el),this.canvas_view.render()}initialize(){this.pause(),super.initialize(),this.state_changed=new u.Signal0(this,\"state_changed\"),this.lod_started=!1,this.visuals=new b.Visuals(this.model),this._initial_state_info={selection:new Map,dimensions:{width:0,height:0}},this.visibility_callbacks=[],this.state={history:[],index:-1};const{hidpi:t,output_backend:e}=this.model;this.canvas=new a.Canvas({hidpi:t,output_backend:e}),this.frame=new n.CartesianFrame(this.model.x_scale,this.model.y_scale,this.model.x_range,this.model.y_range,this.model.extra_x_ranges,this.model.extra_y_ranges),this.throttled_paint=m.throttle(()=>this.repaint(),1e3/60);const{title_location:i,title:s}=this.model;null!=i&&null!=s&&(this._title=s instanceof h.Title?s:new h.Title({text:s}));const{toolbar_location:o,toolbar:l}=this.model;null!=o&&null!=l&&(this._toolbar=new d.ToolbarPanel({toolbar:l}),l.toolbar_location=o),this.renderer_views=new Map,this.tool_views=new Map}async lazy_initialize(){this.canvas_view=await p.build_view(this.canvas,{parent:this}),this.ui_event_bus=new f.UIEvents(this,this.model.toolbar,this.canvas_view.events_el),await this.build_renderer_views(),await this.build_tool_views(),this.update_dataranges(),this.unpause(!0),g.logger.debug(\"PlotView initialized\")}_width_policy(){return null==this.model.frame_width?super._width_policy():\"min\"}_height_policy(){return null==this.model.frame_height?super._height_policy():\"min\"}_update_layout(){this.layout=new x.BorderLayout,this.layout.set_sizing(this.box_sizing());const{frame_width:t,frame_height:e}=this.model;this.layout.center_panel=this.frame,this.layout.center_panel.set_sizing(Object.assign(Object.assign({},null!=t?{width_policy:\"fixed\",width:t}:{width_policy:\"fit\"}),null!=e?{height_policy:\"fixed\",height:e}:{height_policy:\"fit\"}));const i=w.copy(this.model.above),s=w.copy(this.model.below),n=w.copy(this.model.left),a=w.copy(this.model.right),o=t=>{switch(t){case\"above\":return i;case\"below\":return s;case\"left\":return n;case\"right\":return a}},{title_location:l,title:r}=this.model;null!=l&&null!=r&&o(l).push(this._title);const{toolbar_location:_,toolbar:c}=this.model;if(null!=_&&null!=c){const t=o(_);let e=!0;if(this.model.toolbar_sticky)for(let i=0;i{const i=this.renderer_views.get(e);return i.layout=new z.SidePanel(t,i)},p=(t,e)=>{const i=\"above\"==t||\"below\"==t,s=[];for(const n of e)if(v.isArray(n)){const e=n.map(e=>{const s=u(t,e);if(e instanceof d.ToolbarPanel){const t=i?\"width_policy\":\"height_policy\";s.set_sizing(Object.assign(Object.assign({},s.sizing),{[t]:\"min\"}))}return s});let a;i?(a=new M.Row(e),a.set_sizing({width_policy:\"max\",height_policy:\"min\"})):(a=new M.Column(e),a.set_sizing({width_policy:\"min\",height_policy:\"max\"})),a.absolute=!0,s.push(a)}else s.push(u(t,n));return s},f=null!=this.model.min_border?this.model.min_border:0;this.layout.min_border={left:null!=this.model.min_border_left?this.model.min_border_left:f,top:null!=this.model.min_border_top?this.model.min_border_top:f,right:null!=this.model.min_border_right?this.model.min_border_right:f,bottom:null!=this.model.min_border_bottom?this.model.min_border_bottom:f};const b=new y.VStack,g=new y.VStack,m=new y.HStack,O=new y.HStack;b.children=w.reversed(p(\"above\",i)),g.children=p(\"below\",s),m.children=w.reversed(p(\"left\",n)),O.children=p(\"right\",a),b.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),g.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),m.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),O.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),this.layout.top_panel=b,this.layout.bottom_panel=g,this.layout.left_panel=m,this.layout.right_panel=O}get axis_views(){const t=[];for(const[,e]of this.renderer_views)e instanceof _.AxisView&&t.push(e);return t}set_cursor(t=\"default\"){this.canvas_view.el.style.cursor=t}set_toolbar_visibility(t){for(const e of this.visibility_callbacks)e(t)}update_dataranges(){const t=new Map,e=new Map;let i=!1;for(const[,t]of this.frame.x_ranges)t instanceof o.DataRange1d&&\"log\"==t.scale_hint&&(i=!0);for(const[,t]of this.frame.y_ranges)t instanceof o.DataRange1d&&\"log\"==t.scale_hint&&(i=!0);for(const[s,n]of this.renderer_views)if(n instanceof l.GlyphRendererView){const a=n.glyph.bounds();if(null!=a&&t.set(s,a),i){const t=n.glyph.log_bounds();null!=t&&e.set(s,t)}}let s=!1,n=!1;const{width:a,height:r}=this.frame.bbox;let h;!1!==this.model.match_aspect&&0!=a&&0!=r&&(h=1/this.model.aspect_scale*(a/r));for(const[,i]of this.frame.x_ranges){if(i instanceof o.DataRange1d){const n=\"log\"==i.scale_hint?e:t;i.update(n,0,this.model,h),i.follow&&(s=!0)}null!=i.bounds&&(n=!0)}for(const[,i]of this.frame.y_ranges){if(i instanceof o.DataRange1d){const n=\"log\"==i.scale_hint?e:t;i.update(n,1,this.model,h),i.follow&&(s=!0)}null!=i.bounds&&(n=!0)}if(s&&n){g.logger.warn(\"Follow enabled so bounds are unset.\");for(const[,t]of this.frame.x_ranges)t.bounds=null;for(const[,t]of this.frame.y_ranges)t.bounds=null}this.range_update_timestamp=Date.now()}push_state(t,e){const{history:i,index:s}=this.state,n=null!=i[s]?i[s].info:{},a=Object.assign(Object.assign(Object.assign({},this._initial_state_info),n),e);this.state.history=this.state.history.slice(0,this.state.index+1),this.state.history.push({type:t,info:a}),this.state.index=this.state.history.length-1,this.state_changed.emit()}clear_state(){this.state={history:[],index:-1},this.state_changed.emit()}can_undo(){return this.state.index>=0}can_redo(){return this.state.index=a.end&&(n=!0,a.end=t,(e||i)&&(a.start=t+l)),null!=o&&o<=a.start&&(n=!0,a.start=o,(e||i)&&(a.end=o-l))):(null!=t&&t>=a.start&&(n=!0,a.start=t,(e||i)&&(a.end=t+l)),null!=o&&o<=a.end&&(n=!0,a.end=o,(e||i)&&(a.start=o-l)))}}if(!(i&&n&&s))for(const[e,i]of t)e.have_updated_interactively=!0,e.start==i.start&&e.end==i.end||e.setv(i)}_get_weight_to_constrain_interval(t,e){const{min_interval:i}=t;let{max_interval:s}=t;if(null!=t.bounds&&\"auto\"!=t.bounds){const[e,i]=t.bounds;if(null!=e&&null!=i){const t=Math.abs(i-e);s=null!=s?Math.min(s,t):t}}let n=1;if(null!=i||null!=s){const a=Math.abs(t.end-t.start),o=Math.abs(e.end-e.start);i>0&&o0&&o>s&&(n=(s-a)/(o-a)),n=Math.max(0,Math.min(1,n))}return n}update_range(t,e=!1,i=!1,s=!0){this.pause();const{x_ranges:n,y_ranges:a}=this.frame;if(null==t){for(const[,t]of n)t.reset();for(const[,t]of a)t.reset();this.update_dataranges()}else{const o=[];for(const[e,i]of n)o.push([i,t.xrs.get(e)]);for(const[e,i]of a)o.push([i,t.yrs.get(e)]);i&&this._update_ranges_together(o),this._update_ranges_individually(o,e,i,s)}this.unpause()}reset_range(){this.update_range(null)}_invalidate_layout(){(()=>{for(const t of this.model.side_panels){if(this.renderer_views.get(t).layout.has_size_changed())return!0}return!1})()&&this.root.compute_layout()}get_renderer_views(){return this.computed_renderers.map(t=>this.renderer_views.get(t))}async build_renderer_views(){this.computed_renderers=[];const{above:t,below:e,left:i,right:s,center:n,renderers:a}=this.model;this.computed_renderers.push(...t,...e,...i,...s,...n,...a),null!=this._title&&this.computed_renderers.push(this._title),null!=this._toolbar&&this.computed_renderers.push(this._toolbar);for(const t of this.model.toolbar.tools)null!=t.overlay&&this.computed_renderers.push(t.overlay),this.computed_renderers.push(...t.synthetic_renderers);await p.build_views(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const t=this.model.toolbar.tools;(await p.build_views(this.tool_views,t,{parent:this})).map(t=>this.ui_event_bus.register_tool(t))}connect_signals(){super.connect_signals();const{x_ranges:t,y_ranges:e}=this.frame;for(const[,e]of t)this.connect(e.change,()=>{this._needs_layout=!0,this.request_paint()});for(const[,t]of e)this.connect(t.change,()=>{this._needs_layout=!0,this.request_paint()});const{plot_width:i,plot_height:s}=this.model.properties;this.on_change([i,s],()=>this.invalidate_layout());const{above:n,below:a,left:o,right:l,center:r,renderers:h}=this.model.properties;this.on_change([n,a,o,l,r,h],async()=>await this.build_renderer_views()),this.connect(this.model.toolbar.properties.tools.change,async()=>{await this.build_renderer_views(),await this.build_tool_views()}),this.connect(this.model.change,()=>this.request_paint()),this.connect(this.model.reset,()=>this.reset())}set_initial_range(){let t=!0;const{x_ranges:e,y_ranges:i}=this.frame,s=new Map,n=new Map;for(const[i,n]of e){const{start:e,end:a}=n;if(null==e||null==a||isNaN(e+a)){t=!1;break}s.set(i,{start:e,end:a})}if(t)for(const[e,s]of i){const{start:i,end:a}=s;if(null==i||null==a||isNaN(i+a)){t=!1;break}n.set(e,{start:i,end:a})}t?(this._initial_state_info.range={xrs:s,yrs:n},g.logger.debug(\"initial ranges set\")):g.logger.warn(\"could not set initial ranges\")}has_finished(){if(!super.has_finished())return!1;if(this.model.visible)for(const[,t]of this.renderer_views)if(!t.has_finished())return!1;return!0}after_layout(){if(super.after_layout(),this._needs_layout=!1,this.model.setv({inner_width:Math.round(this.frame.bbox.width),inner_height:Math.round(this.frame.bbox.height),outer_width:Math.round(this.layout.bbox.width),outer_height:Math.round(this.layout.bbox.height)},{no_change:!0}),!1!==this.model.match_aspect&&(this.pause(),this.update_dataranges(),this.unpause(!0)),!this._outer_bbox.equals(this.layout.bbox)){const{width:t,height:e}=this.layout.bbox;this.canvas_view.resize(t,e),this._outer_bbox=this.layout.bbox,this._invalidate_all=!0,this._needs_paint=!0}this._inner_bbox.equals(this.frame.inner_bbox)||(this._inner_bbox=this.layout.inner_bbox,this._needs_paint=!0),this._needs_paint&&this.paint()}repaint(){this._needs_layout&&this._invalidate_layout(),this.paint()}paint(){if(this.is_paused||!this.model.visible)return;g.logger.trace(\"PlotView.paint() for \"+this.model.id);const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e{t.interactive_duration()>this.model.lod_timeout&&t.interactive_stop(),this.request_paint()},this.model.lod_timeout):t.interactive_stop()}for(const[,t]of this.renderer_views)if(null==this.range_update_timestamp||t instanceof l.GlyphRendererView&&t.set_data_timestamp>this.range_update_timestamp){this.update_dataranges();break}let e=!1,i=!1;if(this._invalidate_all)e=!0,i=!0;else for(const t of this._invalidated_painters){const{level:s}=t.model;if(\"overlay\"!=s?e=!0:i=!0,e&&i)break}this._invalidated_painters.clear(),this._invalidate_all=!1;const s=[this.frame.bbox.left,this.frame.bbox.top,this.frame.bbox.width,this.frame.bbox.height],{primary:n,overlays:a}=this.canvas_view;e&&(n.prepare(),this.canvas_view.prepare_webgl(s),this.canvas_view.clear_webgl(),this._map_hook(n.ctx,s),this._paint_empty(n.ctx,s),this._paint_outline(n.ctx,s),this._paint_levels(n.ctx,\"image\",s,!0),this._paint_levels(n.ctx,\"underlay\",s,!0),this._paint_levels(n.ctx,\"glyph\",s,!0),this._paint_levels(n.ctx,\"guide\",s,!1),this._paint_levels(n.ctx,\"annotation\",s,!1),n.finish()),i&&(a.prepare(),this._paint_levels(a.ctx,\"overlay\",s,!1),a.finish()),null==this._initial_state_info.range&&this.set_initial_range(),this._needs_paint=!1}_paint_levels(t,e,i,s){for(const n of this.computed_renderers){if(n.level!=e)continue;const a=this.renderer_views.get(n);t.save(),(s||a.needs_clip)&&(t.beginPath(),t.rect(...i),t.clip()),a.render(),t.restore(),a.has_webgl&&a.needs_webgl_blit&&(this.canvas_view.blit_webgl(t),this.canvas_view.clear_webgl())}}_map_hook(t,e){}_paint_empty(t,e){const[i,s,n,a]=[0,0,this.layout.bbox.width,this.layout.bbox.height],[o,l,r,h]=e;this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(t),t.fillRect(i,s,n,a),t.clearRect(o,l,r,h)),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(o,l,r,h))}_paint_outline(t,e){if(this.visuals.outline_line.doit){t.save(),this.visuals.outline_line.set_value(t);let[i,s,n,a]=e;i+n==this.layout.bbox.width&&(n-=1),s+a==this.layout.bbox.height&&(a-=1),t.strokeRect(i,s,n,a),t.restore()}}to_blob(){return this.canvas_view.to_blob()}export(t,e=!0){const i=\"png\"==t?\"canvas\":\"svg\",s=new a.CanvasLayer(i,e),{width:n,height:o}=this.layout.bbox;s.resize(n,o);const{canvas:l}=this.canvas_view.compose();return s.ctx.drawImage(l,0,0),s}serializable_state(){const t=super.serializable_state(),{children:e}=t,i=s(t,[\"children\"]),n=this.get_renderer_views().map(t=>t.serializable_state()).filter(t=>\"bbox\"in t);return Object.assign(Object.assign({},i),{children:[...e,...n]})}}i.PlotView=k,k.__name__=\"PlotView\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});var n=this&&this.__decorate||function(e,t,s,n){var _,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,s):n;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,s,n);else for(var r=e.length-1;r>=0;r--)(_=e[r])&&(o=(a<3?_(o):a>3?_(t,s,o):_(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o};function _(e){return function(t){t.prototype.event_name=e}}class a{to_json(){const{event_name:e}=this;return{event_name:e,event_values:this._to_json()}}}s.BokehEvent=a,a.__name__=\"BokehEvent\";class o extends a{constructor(){super(...arguments),this.origin=null}_to_json(){return{model:this.origin}}}s.ModelEvent=o,o.__name__=\"ModelEvent\";let r=class extends a{_to_json(){return{}}};s.DocumentReady=r,r.__name__=\"DocumentReady\",s.DocumentReady=r=n([_(\"document_ready\")],r);let c=class extends o{};s.ButtonClick=c,c.__name__=\"ButtonClick\",s.ButtonClick=c=n([_(\"button_click\")],c);let l=class extends o{constructor(e){super(),this.item=e}_to_json(){const{item:e}=this;return Object.assign(Object.assign({},super._to_json()),{item:e})}};s.MenuItemClick=l,l.__name__=\"MenuItemClick\",s.MenuItemClick=l=n([_(\"menu_item_click\")],l);class i extends o{}s.UIEvent=i,i.__name__=\"UIEvent\";let u=class extends i{};s.LODStart=u,u.__name__=\"LODStart\",s.LODStart=u=n([_(\"lodstart\")],u);let d=class extends i{};s.LODEnd=d,d.__name__=\"LODEnd\",s.LODEnd=d=n([_(\"lodend\")],d);let h=class extends i{constructor(e,t){super(),this.geometry=e,this.final=t}_to_json(){const{geometry:e,final:t}=this;return Object.assign(Object.assign({},super._to_json()),{geometry:e,final:t})}};s.SelectionGeometry=h,h.__name__=\"SelectionGeometry\",s.SelectionGeometry=h=n([_(\"selectiongeometry\")],h);let m=class extends i{};s.Reset=m,m.__name__=\"Reset\",s.Reset=m=n([_(\"reset\")],m);class x extends i{constructor(e,t,s,n){super(),this.sx=e,this.sy=t,this.x=s,this.y=n}_to_json(){const{sx:e,sy:t,x:s,y:n}=this;return Object.assign(Object.assign({},super._to_json()),{sx:e,sy:t,x:s,y:n})}}s.PointEvent=x,x.__name__=\"PointEvent\";let p=class extends x{constructor(e,t,s,n,_,a){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.delta_x=_,this.delta_y=a}_to_json(){const{delta_x:e,delta_y:t}=this;return Object.assign(Object.assign({},super._to_json()),{delta_x:e,delta_y:t})}};s.Pan=p,p.__name__=\"Pan\",s.Pan=p=n([_(\"pan\")],p);let j=class extends x{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.scale=_}_to_json(){const{scale:e}=this;return Object.assign(Object.assign({},super._to_json()),{scale:e})}};s.Pinch=j,j.__name__=\"Pinch\",s.Pinch=j=n([_(\"pinch\")],j);let y=class extends x{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.rotation=_}_to_json(){const{rotation:e}=this;return Object.assign(Object.assign({},super._to_json()),{rotation:e})}};s.Rotate=y,y.__name__=\"Rotate\",s.Rotate=y=n([_(\"rotate\")],y);let P=class extends x{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.delta=_}_to_json(){const{delta:e}=this;return Object.assign(Object.assign({},super._to_json()),{delta:e})}};s.MouseWheel=P,P.__name__=\"MouseWheel\",s.MouseWheel=P=n([_(\"wheel\")],P);let v=class extends x{};s.MouseMove=v,v.__name__=\"MouseMove\",s.MouseMove=v=n([_(\"mousemove\")],v);let O=class extends x{};s.MouseEnter=O,O.__name__=\"MouseEnter\",s.MouseEnter=O=n([_(\"mouseenter\")],O);let b=class extends x{};s.MouseLeave=b,b.__name__=\"MouseLeave\",s.MouseLeave=b=n([_(\"mouseleave\")],b);let g=class extends x{};s.Tap=g,g.__name__=\"Tap\",s.Tap=g=n([_(\"tap\")],g);let E=class extends x{};s.DoubleTap=E,E.__name__=\"DoubleTap\",s.DoubleTap=E=n([_(\"doubletap\")],E);let M=class extends x{};s.Press=M,M.__name__=\"Press\",s.Press=M=n([_(\"press\")],M);let R=class extends x{};s.PressUp=R,R.__name__=\"PressUp\",s.PressUp=R=n([_(\"pressup\")],R);let f=class extends x{};s.PanStart=f,f.__name__=\"PanStart\",s.PanStart=f=n([_(\"panstart\")],f);let S=class extends x{};s.PanEnd=S,S.__name__=\"PanEnd\",s.PanEnd=S=n([_(\"panend\")],S);let D=class extends x{};s.PinchStart=D,D.__name__=\"PinchStart\",s.PinchStart=D=n([_(\"pinchstart\")],D);let k=class extends x{};s.PinchEnd=k,k.__name__=\"PinchEnd\",s.PinchEnd=k=n([_(\"pinchend\")],k);let L=class extends x{};s.RotateStart=L,L.__name__=\"RotateStart\",s.RotateStart=L=n([_(\"rotatestart\")],L);let C=class extends x{};s.RotateEnd=C,C.__name__=\"RotateEnd\",s.RotateEnd=C=n([_(\"rotateend\")],C)},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=t(1),i=n.__importDefault(t(297)),r=t(15),a=t(19),h=t(72),_=n.__importStar(t(313)),o=t(315),c=t(9),l=t(8),p=t(32),u=t(302);class d{constructor(t,e,s){this.plot_view=t,this.toolbar=e,this.hit_area=s,this.pan_start=new r.Signal(this,\"pan:start\"),this.pan=new r.Signal(this,\"pan\"),this.pan_end=new r.Signal(this,\"pan:end\"),this.pinch_start=new r.Signal(this,\"pinch:start\"),this.pinch=new r.Signal(this,\"pinch\"),this.pinch_end=new r.Signal(this,\"pinch:end\"),this.rotate_start=new r.Signal(this,\"rotate:start\"),this.rotate=new r.Signal(this,\"rotate\"),this.rotate_end=new r.Signal(this,\"rotate:end\"),this.tap=new r.Signal(this,\"tap\"),this.doubletap=new r.Signal(this,\"doubletap\"),this.press=new r.Signal(this,\"press\"),this.pressup=new r.Signal(this,\"pressup\"),this.move_enter=new r.Signal(this,\"move:enter\"),this.move=new r.Signal(this,\"move\"),this.move_exit=new r.Signal(this,\"move:exit\"),this.scroll=new r.Signal(this,\"scroll\"),this.keydown=new r.Signal(this,\"keydown\"),this.keyup=new r.Signal(this,\"keyup\"),this.hammer=new i.default(this.hit_area,{touchAction:\"auto\",inputClass:i.default.TouchMouseInput}),this._configure_hammerjs(),this.hit_area.addEventListener(\"mousemove\",t=>this._mouse_move(t)),this.hit_area.addEventListener(\"mouseenter\",t=>this._mouse_enter(t)),this.hit_area.addEventListener(\"mouseleave\",t=>this._mouse_exit(t)),this.hit_area.addEventListener(\"contextmenu\",t=>this._context_menu(t)),this.hit_area.addEventListener(\"wheel\",t=>this._mouse_wheel(t)),document.addEventListener(\"keydown\",this),document.addEventListener(\"keyup\",this),this.menu=new u.ContextMenu([],{prevent_hide:t=>2==t.button&&t.target==this.hit_area}),this.hit_area.appendChild(this.menu.el)}destroy(){this.menu.remove(),this.hammer.destroy(),document.removeEventListener(\"keydown\",this),document.removeEventListener(\"keyup\",this)}handleEvent(t){\"keydown\"==t.type?this._key_down(t):\"keyup\"==t.type&&this._key_up(t)}_configure_hammerjs(){this.hammer.get(\"doubletap\").recognizeWith(\"tap\"),this.hammer.get(\"tap\").requireFailure(\"doubletap\"),this.hammer.get(\"doubletap\").dropRequireFailure(\"tap\"),this.hammer.on(\"doubletap\",t=>this._doubletap(t)),this.hammer.on(\"tap\",t=>this._tap(t)),this.hammer.on(\"press\",t=>this._press(t)),this.hammer.on(\"pressup\",t=>this._pressup(t)),this.hammer.get(\"pan\").set({direction:i.default.DIRECTION_ALL}),this.hammer.on(\"panstart\",t=>this._pan_start(t)),this.hammer.on(\"pan\",t=>this._pan(t)),this.hammer.on(\"panend\",t=>this._pan_end(t)),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"pinchstart\",t=>this._pinch_start(t)),this.hammer.on(\"pinch\",t=>this._pinch(t)),this.hammer.on(\"pinchend\",t=>this._pinch_end(t)),this.hammer.get(\"rotate\").set({enable:!0}),this.hammer.on(\"rotatestart\",t=>this._rotate_start(t)),this.hammer.on(\"rotate\",t=>this._rotate(t)),this.hammer.on(\"rotateend\",t=>this._rotate_end(t))}register_tool(t){const e=t.model.event_type;null!=e&&(l.isString(e)?this._register_tool(t,e):e.forEach((e,s)=>this._register_tool(t,e,s<1)))}_register_tool(t,e,s=!0){const n=t,{id:i}=n.model,r=t=>e=>{e.id==i&&t(e.e)},h=t=>e=>{t(e.e)};switch(e){case\"pan\":null!=n._pan_start&&n.connect(this.pan_start,r(n._pan_start.bind(n))),null!=n._pan&&n.connect(this.pan,r(n._pan.bind(n))),null!=n._pan_end&&n.connect(this.pan_end,r(n._pan_end.bind(n)));break;case\"pinch\":null!=n._pinch_start&&n.connect(this.pinch_start,r(n._pinch_start.bind(n))),null!=n._pinch&&n.connect(this.pinch,r(n._pinch.bind(n))),null!=n._pinch_end&&n.connect(this.pinch_end,r(n._pinch_end.bind(n)));break;case\"rotate\":null!=n._rotate_start&&n.connect(this.rotate_start,r(n._rotate_start.bind(n))),null!=n._rotate&&n.connect(this.rotate,r(n._rotate.bind(n))),null!=n._rotate_end&&n.connect(this.rotate_end,r(n._rotate_end.bind(n)));break;case\"move\":null!=n._move_enter&&n.connect(this.move_enter,r(n._move_enter.bind(n))),null!=n._move&&n.connect(this.move,r(n._move.bind(n))),null!=n._move_exit&&n.connect(this.move_exit,r(n._move_exit.bind(n)));break;case\"tap\":null!=n._tap&&n.connect(this.tap,r(n._tap.bind(n)));break;case\"press\":null!=n._press&&n.connect(this.press,r(n._press.bind(n))),null!=n._pressup&&n.connect(this.pressup,r(n._pressup.bind(n)));break;case\"scroll\":null!=n._scroll&&n.connect(this.scroll,r(n._scroll.bind(n)));break;default:throw new Error(\"unsupported event_type: \"+e)}s&&(null!=n._doubletap&&n.connect(this.doubletap,h(n._doubletap.bind(n))),null!=n._keydown&&n.connect(this.keydown,h(n._keydown.bind(n))),null!=n._keyup&&n.connect(this.keyup,h(n._keyup.bind(n))),p.is_mobile&&null!=n._scroll&&\"pinch\"==e&&(a.logger.debug(\"Registering scroll on touch screen\"),n.connect(this.scroll,r(n._scroll.bind(n)))))}_hit_test_renderers(t,e){const s=this.plot_view.get_renderer_views();for(const n of c.reversed(s)){const{level:s}=n.model;if((\"annotation\"==s||\"overlay\"==s)&&null!=n.interactive_hit&&n.interactive_hit(t,e))return n}return null}_hit_test_frame(t,e){return this.plot_view.frame.bbox.contains(t,e)}_hit_test_canvas(t,e){return this.plot_view.layout.bbox.contains(t,e)}_trigger(t,e,s){const n=this.toolbar.gestures,i=t.name.split(\":\")[0],r=this._hit_test_renderers(e.sx,e.sy),a=this._hit_test_canvas(e.sx,e.sy);switch(i){case\"move\":{const s=n[i].active;null!=s&&this.trigger(t,e,s.id);const h=this.toolbar.inspectors.filter(t=>t.active);let _=\"default\";null!=r?(_=r.cursor(e.sx,e.sy)||_,c.is_empty(h)||(t=this.move_exit)):this._hit_test_frame(e.sx,e.sy)&&(c.is_empty(h)||(_=\"crosshair\")),this.plot_view.set_cursor(_),this.plot_view.set_toolbar_visibility(a),h.map(s=>this.trigger(t,e,s.id));break}case\"tap\":{const{target:a}=s;if(null!=a&&a!=this.hit_area)return;null!=r&&null!=r.on_hit&&r.on_hit(e.sx,e.sy);const h=n[i].active;null!=h&&this.trigger(t,e,h.id);break}case\"scroll\":{const i=n[p.is_mobile?\"pinch\":\"scroll\"].active;null!=i&&(s.preventDefault(),s.stopPropagation(),this.trigger(t,e,i.id));break}case\"pan\":{const r=n[i].active;null!=r&&(s.preventDefault(),this.trigger(t,e,r.id));break}default:{const s=n[i].active;null!=s&&this.trigger(t,e,s.id)}}this._trigger_bokeh_event(e)}trigger(t,e,s=null){t.emit({id:s,e})}_trigger_bokeh_event(t){const e=(()=>{const{sx:e,sy:s}=t,n=this.plot_view.frame.x_scale.invert(e),i=this.plot_view.frame.y_scale.invert(s);switch(t.type){case\"wheel\":return new _.MouseWheel(e,s,n,i,t.delta);case\"mousemove\":return new _.MouseMove(e,s,n,i);case\"mouseenter\":return new _.MouseEnter(e,s,n,i);case\"mouseleave\":return new _.MouseLeave(e,s,n,i);case\"tap\":return new _.Tap(e,s,n,i);case\"doubletap\":return new _.DoubleTap(e,s,n,i);case\"press\":return new _.Press(e,s,n,i);case\"pressup\":return new _.PressUp(e,s,n,i);case\"pan\":return new _.Pan(e,s,n,i,t.deltaX,t.deltaY);case\"panstart\":return new _.PanStart(e,s,n,i);case\"panend\":return new _.PanEnd(e,s,n,i);case\"pinch\":return new _.Pinch(e,s,n,i,t.scale);case\"pinchstart\":return new _.PinchStart(e,s,n,i);case\"pinchend\":return new _.PinchEnd(e,s,n,i);case\"rotate\":return new _.Rotate(e,s,n,i,t.rotation);case\"rotatestart\":return new _.RotateStart(e,s,n,i);case\"rotateend\":return new _.RotateEnd(e,s,n,i);default:return}})();null!=e&&this.plot_view.model.trigger_event(e)}_get_sxy(t){const{pageX:e,pageY:s}=function(t){return\"undefined\"!=typeof TouchEvent&&t instanceof TouchEvent}(t)?(0!=t.touches.length?t.touches:t.changedTouches)[0]:t,{left:n,top:i}=h.offset(this.hit_area);return{sx:e-n,sy:s-i}}_pan_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{deltaX:t.deltaX,deltaY:t.deltaY,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_pinch_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{scale:t.scale,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_rotate_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{rotation:t.rotation,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_tap_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_move_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_scroll_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{delta:o.getDeltaY(t),shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_key_event(t){return{type:t.type,keyCode:t.keyCode}}_pan_start(t){const e=this._pan_event(t);e.sx-=t.deltaX,e.sy-=t.deltaY,this._trigger(this.pan_start,e,t.srcEvent)}_pan(t){this._trigger(this.pan,this._pan_event(t),t.srcEvent)}_pan_end(t){this._trigger(this.pan_end,this._pan_event(t),t.srcEvent)}_pinch_start(t){this._trigger(this.pinch_start,this._pinch_event(t),t.srcEvent)}_pinch(t){this._trigger(this.pinch,this._pinch_event(t),t.srcEvent)}_pinch_end(t){this._trigger(this.pinch_end,this._pinch_event(t),t.srcEvent)}_rotate_start(t){this._trigger(this.rotate_start,this._rotate_event(t),t.srcEvent)}_rotate(t){this._trigger(this.rotate,this._rotate_event(t),t.srcEvent)}_rotate_end(t){this._trigger(this.rotate_end,this._rotate_event(t),t.srcEvent)}_tap(t){this._trigger(this.tap,this._tap_event(t),t.srcEvent)}_doubletap(t){const e=this._tap_event(t);this._trigger_bokeh_event(e),this.trigger(this.doubletap,e)}_press(t){this._trigger(this.press,this._tap_event(t),t.srcEvent)}_pressup(t){this._trigger(this.pressup,this._tap_event(t),t.srcEvent)}_mouse_enter(t){this._trigger(this.move_enter,this._move_event(t),t)}_mouse_move(t){this._trigger(this.move,this._move_event(t),t)}_mouse_exit(t){this._trigger(this.move_exit,this._move_event(t),t)}_mouse_wheel(t){this._trigger(this.scroll,this._scroll_event(t),t)}_context_menu(t){!this.menu.is_open&&this.menu.can_open&&t.preventDefault();const{sx:e,sy:s}=this._get_sxy(t);this.menu.toggle({left:e,top:s})}_key_down(t){this.trigger(this.keydown,this._key_event(t))}_key_up(t){this.trigger(this.keyup,this._key_event(t))}}s.UIEvents=d,d.__name__=\"UIEvents\"},\n", + " function _(e,t,n){\n", + " /*!\n", + " * jQuery Mousewheel 3.1.13\n", + " *\n", + " * Copyright jQuery Foundation and other contributors\n", + " * Released under the MIT license\n", + " * http://jquery.org/license\n", + " */\n", + " function r(e){const t=getComputedStyle(e).fontSize;return null!=t?parseInt(t,10):null}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getDeltaY=function(e){let t=-e.deltaY;if(e.target instanceof HTMLElement)switch(e.deltaMode){case e.DOM_DELTA_LINE:t*=r((n=e.target).offsetParent||document.body)||r(n)||16;break;case e.DOM_DELTA_PAGE:t*=function(e){return e.clientHeight}(e.target)}var n;return t}},\n", + " function _(n,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const t=(\"undefined\"!=typeof window?window.requestAnimationFrame:void 0)||(\"undefined\"!=typeof window?window.webkitRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window?window.mozRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window?window.msRequestAnimationFrame:void 0)||function(n){return n(Date.now()),-1};o.throttle=function(n,e){let o=null,i=0,u=!1;return function(){return new Promise((d,w)=>{const r=function(){i=Date.now(),o=null,u=!1;try{n(),d()}catch(n){w(n)}},a=Date.now(),f=e-(a-i);f<=0&&!u?(null!=o&&clearTimeout(o),u=!0,t(r)):o||u?d():o=setTimeout(()=>t(r),f)})}}},\n", + " function _(t,e,h){Object.defineProperty(h,\"__esModule\",{value:!0});const i=t(213),o=t(214),r=t(79);class s extends o.Layoutable{constructor(){super(...arguments),this.min_border={left:0,top:0,right:0,bottom:0}}_measure(t){t=new i.Sizeable(t).bounded_to(this.sizing.size);const e=this.left_panel.measure({width:0,height:t.height}),h=Math.max(e.width,this.min_border.left),o=this.right_panel.measure({width:0,height:t.height}),r=Math.max(o.width,this.min_border.right),s=this.top_panel.measure({width:t.width,height:0}),n=Math.max(s.height,this.min_border.top),a=this.bottom_panel.measure({width:t.width,height:0}),g=Math.max(a.height,this.min_border.bottom),_=new i.Sizeable(t).shrink_by({left:h,right:r,top:n,bottom:g}),m=this.center_panel.measure(_);return{width:h+m.width+r,height:n+m.height+g,inner:{left:h,right:r,top:n,bottom:g},align:(()=>{const{width_policy:t,height_policy:e}=this.center_panel.sizing;return\"fixed\"!=t&&\"fixed\"!=e})()}}_set_geometry(t,e){super._set_geometry(t,e),this.center_panel.set_geometry(e);const h=this.left_panel.measure({width:0,height:t.height}),i=this.right_panel.measure({width:0,height:t.height}),o=this.top_panel.measure({width:t.width,height:0}),s=this.bottom_panel.measure({width:t.width,height:0}),{left:n,top:a,right:g,bottom:_}=e;this.top_panel.set_geometry(new r.BBox({left:n,right:g,bottom:a,height:o.height})),this.bottom_panel.set_geometry(new r.BBox({left:n,right:g,top:_,height:s.height})),this.left_panel.set_geometry(new r.BBox({top:a,bottom:_,right:n,width:h.width})),this.right_panel.set_geometry(new r.BBox({top:a,bottom:_,left:g,width:i.width}))}}h.BorderLayout=s,s.__name__=\"BorderLayout\"},\n", + " function _(i,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const l=i(213),a=i(214),r=i(8),o=Math.PI/2,h=\"left\",s=\"center\",n={above:{parallel:0,normal:-o,horizontal:0,vertical:-o},below:{parallel:0,normal:o,horizontal:0,vertical:o},left:{parallel:-o,normal:0,horizontal:0,vertical:-o},right:{parallel:o,normal:0,horizontal:0,vertical:o}},d={above:{justified:\"top\",parallel:\"alphabetic\",normal:\"middle\",horizontal:\"alphabetic\",vertical:\"middle\"},below:{justified:\"bottom\",parallel:\"hanging\",normal:\"middle\",horizontal:\"hanging\",vertical:\"middle\"},left:{justified:\"top\",parallel:\"alphabetic\",normal:\"middle\",horizontal:\"middle\",vertical:\"alphabetic\"},right:{justified:\"top\",parallel:\"alphabetic\",normal:\"middle\",horizontal:\"middle\",vertical:\"alphabetic\"}},_={above:{justified:s,parallel:s,normal:h,horizontal:s,vertical:h},below:{justified:s,parallel:s,normal:h,horizontal:s,vertical:h},left:{justified:s,parallel:s,normal:\"right\",horizontal:\"right\",vertical:s},right:{justified:s,parallel:s,normal:h,horizontal:h,vertical:s}},c={above:\"right\",below:h,left:\"right\",right:h},m={above:h,below:\"right\",left:\"right\",right:h};class g extends a.ContentLayoutable{constructor(i,t){switch(super(),this.side=i,this.obj=t,this.side){case\"above\":this._dim=0,this._normals=[0,-1];break;case\"below\":this._dim=0,this._normals=[0,1];break;case\"left\":this._dim=1,this._normals=[-1,0];break;case\"right\":this._dim=1,this._normals=[1,0]}this.is_horizontal?this.set_sizing({width_policy:\"max\",height_policy:\"fixed\"}):this.set_sizing({width_policy:\"fixed\",height_policy:\"max\"})}_content_size(){return new l.Sizeable(this.get_oriented_size())}get_oriented_size(){const{width:i,height:t}=this.obj.get_size();return!this.obj.rotate||this.is_horizontal?{width:i,height:t}:{width:t,height:i}}has_size_changed(){const{width:i,height:t}=this.get_oriented_size();return this.is_horizontal?this.bbox.height!=t:this.bbox.width!=i}get dimension(){return this._dim}get normals(){return this._normals}get is_horizontal(){return 0==this._dim}get is_vertical(){return 1==this._dim}apply_label_text_heuristics(i,t){const e=this.side;let l,a;r.isString(t)?(l=d[e][t],a=_[e][t]):t<0?(l=\"middle\",a=c[e]):(l=\"middle\",a=m[e]),i.textBaseline=l,i.textAlign=a}get_label_angle_heuristic(i){return n[this.side][i]}}e.SidePanel=g,g.__name__=\"SidePanel\"},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(15),o=t(72),a=t(37),n=t(312),p=new i.Signal0({},\"gmaps_ready\");class l extends n.PlotView{initialize(){this.pause(),super.initialize(),this._tiles_loaded=!1,this.zoom_count=0;const{zoom:t,lat:e,lng:s}=this.model.map_options;if(this.initial_zoom=t,this.initial_lat=e,this.initial_lng=s,\"undefined\"==typeof google||null==google.maps){if(void 0===window._bokeh_gmaps_callback){!function(t){window._bokeh_gmaps_callback=()=>p.emit();const e=document.createElement(\"script\");e.type=\"text/javascript\",e.src=`https://maps.googleapis.com/maps/api/js?v=3.36&key=${t}&callback=_bokeh_gmaps_callback`,document.body.appendChild(e)}(atob(this.model.api_key))}p.connect(()=>this.request_render())}this.unpause()}remove(){o.remove(this.map_el),super.remove()}update_range(t){if(null==t)this.map.setCenter({lat:this.initial_lat,lng:this.initial_lng}),this.map.setOptions({zoom:this.initial_zoom}),super.update_range(null);else if(null!=t.sdx||null!=t.sdy)this.map.panBy(t.sdx||0,t.sdy||0),super.update_range(t);else if(null!=t.factor){if(10!==this.zoom_count)return void(this.zoom_count+=1);this.zoom_count=0,this.pause(),super.update_range(t);const e=t.factor<0?-1:1,s=this.map.getZoom(),i=s+e;if(i>=2){this.map.setZoom(i);const[t,e,,]=this._get_projected_bounds();e-t<0&&this.map.setZoom(s)}this.unpause()}this._set_bokeh_ranges()}_build_map(){const{maps:t}=google;this.map_types={satellite:t.MapTypeId.SATELLITE,terrain:t.MapTypeId.TERRAIN,roadmap:t.MapTypeId.ROADMAP,hybrid:t.MapTypeId.HYBRID};const e=this.model.map_options,s={center:new t.LatLng(e.lat,e.lng),zoom:e.zoom,disableDefaultUI:!0,mapTypeId:this.map_types[e.map_type],scaleControl:e.scale_control,tilt:e.tilt};null!=e.styles&&(s.styles=JSON.parse(e.styles)),this.map_el=o.div({style:{position:\"absolute\"}}),this.canvas_view.add_underlay(this.map_el),this.map=new t.Map(this.map_el,s),t.event.addListener(this.map,\"idle\",()=>this._set_bokeh_ranges()),t.event.addListener(this.map,\"bounds_changed\",()=>this._set_bokeh_ranges()),t.event.addListenerOnce(this.map,\"tilesloaded\",()=>this._render_finished()),this.connect(this.model.properties.map_options.change,()=>this._update_options()),this.connect(this.model.map_options.properties.styles.change,()=>this._update_styles()),this.connect(this.model.map_options.properties.lat.change,()=>this._update_center(\"lat\")),this.connect(this.model.map_options.properties.lng.change,()=>this._update_center(\"lng\")),this.connect(this.model.map_options.properties.zoom.change,()=>this._update_zoom()),this.connect(this.model.map_options.properties.map_type.change,()=>this._update_map_type()),this.connect(this.model.map_options.properties.scale_control.change,()=>this._update_scale_control()),this.connect(this.model.map_options.properties.tilt.change,()=>this._update_tilt())}_render_finished(){this._tiles_loaded=!0,this.notify_finished()}has_finished(){return super.has_finished()&&!0===this._tiles_loaded}_get_latlon_bounds(){const t=this.map.getBounds(),e=t.getNorthEast(),s=t.getSouthWest();return[s.lng(),e.lng(),s.lat(),e.lat()]}_get_projected_bounds(){const[t,e,s,i]=this._get_latlon_bounds(),[o,n]=a.wgs84_mercator.compute(t,s),[p,l]=a.wgs84_mercator.compute(e,i);return[o,p,n,l]}_set_bokeh_ranges(){const[t,e,s,i]=this._get_projected_bounds();this.frame.x_range.setv({start:t,end:e}),this.frame.y_range.setv({start:s,end:i})}_update_center(t){const e=this.map.getCenter().toJSON();e[t]=this.model.map_options[t],this.map.setCenter(e),this._set_bokeh_ranges()}_update_map_type(){this.map.setOptions({mapTypeId:this.map_types[this.model.map_options.map_type]})}_update_scale_control(){this.map.setOptions({scaleControl:this.model.map_options.scale_control})}_update_tilt(){this.map.setOptions({tilt:this.model.map_options.tilt})}_update_options(){this._update_styles(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()}_update_styles(){this.map.setOptions({styles:JSON.parse(this.model.map_options.styles)})}_update_zoom(){this.map.setOptions({zoom:this.model.map_options.zoom}),this._set_bokeh_ranges()}_map_hook(t,e){if(null==this.map&&\"undefined\"!=typeof google&&null!=google.maps&&this._build_map(),null!=this.map_el){const[t,s,i,o]=e;this.map_el.style.top=s+\"px\",this.map_el.style.left=t+\"px\",this.map_el.style.width=i+\"px\",this.map_el.style.height=o+\"px\"}}_paint_empty(t,e){const s=this.layout.bbox.width,i=this.layout.bbox.height,[o,a,n,p]=e;t.clearRect(0,0,s,i),t.beginPath(),t.moveTo(0,0),t.lineTo(0,i),t.lineTo(s,i),t.lineTo(s,0),t.lineTo(0,0),t.moveTo(o,a),t.lineTo(o+n,a),t.lineTo(o+n,a+p),t.lineTo(o,a+p),t.lineTo(o,a),t.closePath(),null!=this.model.border_fill_color&&(t.fillStyle=this.model.border_fill_color,t.fill())}}s.GMapPlotView=l,l.__name__=\"GMapPlotView\"},\n", + " function _(a,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});var g=a(211);n.DataRange=g.DataRange;var R=a(210);n.DataRange1d=R.DataRange1d;var r=a(98);n.FactorRange=r.FactorRange;var t=a(99);n.Range=t.Range;var d=a(158);n.Range1d=d.Range1d},\n", + " function _(e,r,d){Object.defineProperty(d,\"__esModule\",{value:!0});var n=e(90);d.GlyphRenderer=n.GlyphRenderer;var R=e(116);d.GraphRenderer=R.GraphRenderer;var a=e(178);d.GuideRenderer=a.GuideRenderer;var G=e(70);d.Renderer=G.Renderer},\n", + " function _(a,e,l){Object.defineProperty(l,\"__esModule\",{value:!0});var c=a(209);l.CategoricalScale=c.CategoricalScale;var r=a(146);l.ContinuousScale=r.ContinuousScale;var n=a(145);l.LinearScale=n.LinearScale;var o=a(156);l.LinearInterpolationScale=o.LinearInterpolationScale;var i=a(157);l.LogScale=i.LogScale;var S=a(147);l.Scale=S.Scale},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});e(1).__exportStar(e(118),o);var n=e(88);o.Selection=n.Selection},\n", + " function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});var o=a(325);r.ServerSentDataSource=o.ServerSentDataSource;var S=a(327);r.AjaxDataSource=S.AjaxDataSource;var u=a(85);r.ColumnDataSource=u.ColumnDataSource;var t=a(86);r.ColumnarDataSource=t.ColumnarDataSource;var c=a(114);r.CDSView=c.CDSView;var D=a(87);r.DataSource=D.DataSource;var v=a(328);r.GeoJSONDataSource=v.GeoJSONDataSource;var n=a(326);r.WebDataSource=n.WebDataSource},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const a=e(326);class s extends a.WebDataSource{constructor(e){super(e),this.initialized=!1}destroy(){super.destroy()}setup(){if(!this.initialized){this.initialized=!0;new EventSource(this.data_url).onmessage=e=>{this.load_data(JSON.parse(e.data),this.mode,this.max_size)}}}}i.ServerSentDataSource=s,s.__name__=\"ServerSentDataSource\"},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const r=e(1),s=e(85),i=r.__importStar(e(18));class n extends s.ColumnDataSource{constructor(e){super(e)}get_column(e){const t=this.data[e];return null!=t?t:[]}initialize(){super.initialize(),this.setup()}load_data(e,t,a){const{adapter:r}=this;let s;switch(s=null!=r?r.execute(this,{response:e}):e,t){case\"replace\":this.data=s;break;case\"append\":{const e=this.data;for(const t of this.columns()){const r=Array.from(e[t]),i=Array.from(s[t]);s[t]=r.concat(i).slice(-a)}this.data=s;break}}}static init_WebDataSource(){this.define({mode:[i.UpdateMode,\"replace\"],max_size:[i.Number],adapter:[i.Any,null],data_url:[i.String]})}}a.WebDataSource=n,n.__name__=\"WebDataSource\",n.init_WebDataSource()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),a=t(326),r=t(19),o=s.__importStar(t(18)),n=t(13);class d extends a.WebDataSource{constructor(t){super(t),this.initialized=!1}static init_AjaxDataSource(){this.define({polling_interval:[o.Number],content_type:[o.String,\"application/json\"],http_headers:[o.Any,{}],method:[o.HTTPMethod,\"POST\"],if_modified:[o.Boolean,!1]})}destroy(){null!=this.interval&&clearInterval(this.interval),super.destroy()}setup(){if(!this.initialized&&(this.initialized=!0,this.get_data(this.mode),this.polling_interval)){const t=()=>this.get_data(this.mode,this.max_size,this.if_modified);this.interval=setInterval(t,this.polling_interval)}}get_data(t,e=0,i=!1){const s=this.prepare_request();s.addEventListener(\"load\",()=>this.do_load(s,t,e)),s.addEventListener(\"error\",()=>this.do_error(s)),s.send()}prepare_request(){const t=new XMLHttpRequest;t.open(this.method,this.data_url,!0),t.withCredentials=!1,t.setRequestHeader(\"Content-Type\",this.content_type);const e=this.http_headers;for(const[i,s]of n.entries(e))t.setRequestHeader(i,s);return t}do_load(t,e,i){if(200===t.status){const s=JSON.parse(t.responseText);this.load_data(s,e,i)}}do_error(t){r.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=d,d.__name__=\"AjaxDataSource\",d.init_AjaxDataSource()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(1),n=e(86),s=e(19),a=r.__importStar(e(18)),i=e(9),l=e(13);function c(e){return null!=e?e:NaN}class _ extends n.ColumnarDataSource{constructor(e){super(e)}static init_GeoJSONDataSource(){this.define({geojson:[a.Any]}),this.internal({data:[a.Any,{}]})}initialize(){super.initialize(),this._update_data()}connect_signals(){super.connect_signals(),this.connect(this.properties.geojson.change,()=>this._update_data())}_update_data(){this.data=this.geojson_to_column_data()}_get_new_list_array(e){return i.range(0,e).map(e=>[])}_get_new_nan_array(e){return i.range(0,e).map(e=>NaN)}_add_properties(e,t,o,r){var n;const s=null!==(n=e.properties)&&void 0!==n?n:{};for(const[e,n]of l.entries(s))t.hasOwnProperty(e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=c(n)}_add_geometry(e,t,o){function r(e,t){return e.concat([[NaN,NaN,NaN]]).concat(t)}switch(e.type){case\"Point\":{const[r,n,s]=e.coordinates;t.x[o]=r,t.y[o]=n,t.z[o]=c(s);break}case\"LineString\":{const{coordinates:r}=e;for(let e=0;e1&&s.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\");const r=e.coordinates[0];for(let e=0;e1&&s.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),n.push(t[0]);const a=n.reduce(r);for(let e=0;ethis.get_resolution(t))}_computed_initial_resolution(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size}is_valid_tile(t,e,i){return!(!this.wrap_around&&(t<0||t>=2**i))&&!(e<0||e>=2**i)}parent_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=_.substring(0,_.length-1);return this.quadkey_to_tile_xyz(s)}get_resolution(t){return this._computed_initial_resolution()/2**t}get_resolution_by_extent(t,e,i){return[(t[2]-t[0])/i,(t[3]-t[1])/e]}get_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s);let o=0;for(const t of this._resolutions){if(r>t){if(0==o)return 0;if(o>0)return o-1}o+=1}return o-1}get_closest_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s),o=this._resolutions.reduce((function(t,e){return Math.abs(e-r)e?(u=o-s,a*=t):(u*=e,a=n-r)}const h=(u-(o-s))/2,c=(a-(n-r))/2;return[s-h,r-c,o+h,n+c]}tms_to_wmts(t,e,i){return[t,2**i-1-e,i]}wmts_to_tms(t,e,i){return[t,2**i-1-e,i]}pixels_to_meters(t,e,i){const _=this.get_resolution(i);return[t*_-this.x_origin_offset,e*_-this.y_origin_offset]}meters_to_pixels(t,e,i){const _=this.get_resolution(i);return[(t+this.x_origin_offset)/_,(e+this.y_origin_offset)/_]}pixels_to_tile(t,e){let i=Math.ceil(t/this.tile_size);i=0===i?i:i-1;return[i,Math.max(Math.ceil(e/this.tile_size)-1,0)]}pixels_to_raster(t,e,i){return[t,(this.tile_size<=l;t--)for(let i=n;i<=u;i++)this.is_valid_tile(i,t,e)&&h.push([i,t,e,this.get_tile_meter_bounds(i,t,e)]);return this.sort_tiles_from_center(h,[n,l,u,a]),h}quadkey_to_tile_xyz(t){let e=0,i=0;const _=t.length;for(let s=_;s>0;s--){const r=1<0;s--){const i=1<0;)if(s=s.substring(0,s.length-1),[t,e,i]=this.quadkey_to_tile_xyz(s),[t,e,i]=this.denormalize_xyz(t,e,i,_),this.tiles.has(this.tile_xyz_to_key(t,e,i)))return[t,e,i];return[0,0,0]}normalize_xyz(t,e,i){if(this.wrap_around){const _=2**i;return[(t%_+_)%_,e,i]}return[t,e,i]}denormalize_xyz(t,e,i,_){return[t+_*2**i,e,i]}denormalize_meters(t,e,i,_){return[t+2*_*Math.PI*6378137,e]}calculate_world_x_by_tile_xyz(t,e,i){return Math.floor(t/2**i)}}i.MercatorTileSource=l,l.__name__=\"MercatorTileSource\",l.init_MercatorTileSource()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1),n=e(81),s=e(13),l=i.__importStar(e(18));class a extends n.Model{constructor(e){super(e)}static init_TileSource(){this.define({url:[l.String,\"\"],tile_size:[l.Number,256],max_zoom:[l.Number,30],min_zoom:[l.Number,0],extra_url_vars:[l.Any,{}],attribution:[l.String,\"\"],x_origin_offset:[l.Number],y_origin_offset:[l.Number],initial_resolution:[l.Number]})}initialize(){super.initialize(),this.tiles=new Map,this._normalize_case()}connect_signals(){super.connect_signals(),this.connect(this.change,()=>this._clear_cache())}string_lookup_replace(e,t){let r=e;for(const[e,i]of s.entries(t))r=r.replace(`{${e}}`,i);return r}_normalize_case(){const e=this.url.replace(\"{x}\",\"{X}\").replace(\"{y}\",\"{Y}\").replace(\"{z}\",\"{Z}\").replace(\"{q}\",\"{Q}\").replace(\"{xmin}\",\"{XMIN}\").replace(\"{ymin}\",\"{YMIN}\").replace(\"{xmax}\",\"{XMAX}\").replace(\"{ymax}\",\"{YMAX}\");this.url=e}_clear_cache(){this.tiles=new Map}tile_xyz_to_key(e,t,r){return`${e}:${t}:${r}`}key_to_tile_xyz(e){const[t,r,i]=e.split(\":\").map(e=>parseInt(e));return[t,r,i]}sort_tiles_from_center(e,t){const[r,i,n,s]=t,l=(n-r)/2+r,a=(s-i)/2+i;e.sort((function(e,t){return Math.sqrt((l-e[0])**2+(a-e[1])**2)-Math.sqrt((l-t[0])**2+(a-t[1])**2)}))}get_image_url(e,t,r){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",t.toString()).replace(\"{Z}\",r.toString())}}r.TileSource=a,a.__name__=\"TileSource\",a.init_TileSource()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const n=e(37);function o(e,t){return n.wgs84_mercator.compute(e,t)}function c(e,t){return n.wgs84_mercator.invert(e,t)}r.geographic_to_meters=o,r.meters_to_geographic=c,r.geographic_extent_to_meters=function(e){const[t,r,n,c]=e,[_,u]=o(t,r),[i,g]=o(n,c);return[_,u,i,g]},r.meters_extent_to_geographic=function(e){const[t,r,n,o]=e,[_,u]=c(t,r),[i,g]=c(n,o);return[_,u,i,g]}},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const _=e(333);class s extends _.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const _=this.string_lookup_replace(this.url,this.extra_url_vars),[s,o,u]=this.tms_to_wmts(e,t,r),c=this.tile_xyz_to_quadkey(s,o,u);return _.replace(\"{Q}\",c)}}r.QUADKEYTileSource=s,s.__name__=\"QUADKEYTileSource\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),_=t(338),n=t(91),a=t(158),r=t(72),o=s.__importStar(t(18)),h=t(251),l=t(9),d=t(8),m=t(89),c=t(85),g=t(339),p=s.__importDefault(t(340));class u extends n.DataRendererView{initialize(){this._tiles=[],super.initialize()}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.request_render()),this.connect(this.model.tile_source.change,()=>this.request_render())}styles(){return[...super.styles(),p.default]}get_extent(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]}get map_plot(){return this.plot_model}get map_canvas(){return this.layer.ctx}get map_frame(){return this.plot_view.frame}get x_range(){return this.map_plot.x_range}get y_range(){return this.map_plot.y_range}_set_data(){this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0}_update_attribution(){null!=this.attribution_el&&r.removeElement(this.attribution_el);const{attribution:t}=this.model.tile_source;if(d.isString(t)&&t.length>0){const{layout:e,frame:i}=this.plot_view,s=e.bbox.width-i.bbox.right,_=e.bbox.height-i.bbox.bottom,n=i.bbox.width;this.attribution_el=r.div({class:g.bk_tile_attribution,style:{position:\"absolute\",right:s+\"px\",bottom:_+\"px\",\"max-width\":n-4+\"px\",padding:\"2px\",\"background-color\":\"rgba(255,255,255,0.5)\",\"font-size\":\"9px\",\"line-height\":\"1.05\",\"white-space\":\"nowrap\",overflow:\"hidden\",\"text-overflow\":\"ellipsis\"}}),this.plot_view.canvas_view.add_event(this.attribution_el),this.attribution_el.innerHTML=t,this.attribution_el.title=this.attribution_el.textContent.replace(/\\s*\\n\\s*/g,\" \")}}_map_data(){this.initial_extent=this.get_extent();const t=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width),e=this.model.tile_source.snap_to_zoom_level(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width,t);this.x_range.start=e[0],this.y_range.start=e[1],this.x_range.end=e[2],this.y_range.end=e[3],this.x_range instanceof a.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof a.Range1d&&(this.y_range.reset_start=e[1],this.y_range.reset_end=e[3]),this._update_attribution()}_create_tile(t,e,i,s,_=!1){const[n,a,r]=this.model.tile_source.normalize_xyz(t,e,i),o={img:void 0,tile_coords:[t,e,i],normalized_coords:[n,a,r],quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,i),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,i),bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]},l=this.model.tile_source.get_image_url(n,a,r);new h.ImageLoader(l,{loaded:t=>{Object.assign(o,{img:t,loaded:!0}),_?(o.finished=!0,this.notify_finished()):this.request_render()},failed(){o.finished=!0}}),this.model.tile_source.tiles.set(o.cache_key,o),this._tiles.push(o)}_enforce_aspect_ratio(){if(this._last_height!==this.map_frame.bbox.height||this._last_width!==this.map_frame.bbox.width){const t=this.get_extent(),e=this.model.tile_source.get_level_by_extent(t,this.map_frame.bbox.height,this.map_frame.bbox.width),i=this.model.tile_source.snap_to_zoom_level(t,this.map_frame.bbox.height,this.map_frame.bbox.width,e);this.x_range.setv({start:i[0],end:i[2]}),this.y_range.setv({start:i[1],end:i[3]}),this.extent=i,this._last_height=this.map_frame.bbox.height,this._last_width=this.map_frame.bbox.width}}has_finished(){if(!super.has_finished())return!1;if(0===this._tiles.length)return!1;for(const t of this._tiles)if(!t.finished)return!1;return!0}_render(){null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),this._enforce_aspect_ratio(),this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles.bind(this),500),this.has_finished()&&this.notify_finished()}_draw_tile(t){const e=this.model.tile_source.tiles.get(t);if(null!=e&&e.loaded){const[[t],[i]]=this.coordinates.map_to_screen([e.bounds[0]],[e.bounds[3]]),[[s],[_]]=this.coordinates.map_to_screen([e.bounds[2]],[e.bounds[1]]),n=s-t,a=_-i,r=t,o=i,h=this.map_canvas.getImageSmoothingEnabled();this.map_canvas.setImageSmoothingEnabled(this.model.smoothing),this.map_canvas.drawImage(e.img,r,o,n,a),this.map_canvas.setImageSmoothingEnabled(h),e.finished=!0}}_set_rect(){const t=this.plot_model.properties.outline_line_width.value(),e=this.map_frame.bbox.left+t/2,i=this.map_frame.bbox.top+t/2,s=this.map_frame.bbox.width-t,_=this.map_frame.bbox.height-t;this.map_canvas.rect(e,i,s,_),this.map_canvas.clip()}_render_tiles(t){this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha;for(const e of t)this._draw_tile(e);this.map_canvas.restore()}_prefetch_tiles(){const{tile_source:t}=this.model,e=this.get_extent(),i=this.map_frame.bbox.height,s=this.map_frame.bbox.width,_=this.model.tile_source.get_level_by_extent(e,i,s),n=this.model.tile_source.get_tiles_by_extent(e,_);for(let e=0,i=Math.min(10,n.length);ei&&(s=this.extent,r=i,o=!0),o&&(this.x_range.setv({x_range:{start:s[0],end:s[2]}}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const h=t.get_tiles_by_extent(s,r),d=[],m=[],c=[],g=[];for(const e of h){const[i,s,n]=e,a=t.tile_xyz_to_key(i,s,n),r=t.tiles.get(a);if(null!=r&&r.loaded)m.push(a);else if(this.model.render_parents){const[e,a,r]=t.get_closest_parent_by_tile_xyz(i,s,n),o=t.tile_xyz_to_key(e,a,r),h=t.tiles.get(o);if(null!=h&&h.loaded&&!l.includes(c,o)&&c.push(o),_){const e=t.children_by_tile_xyz(i,s,n);for(const[i,s,_]of e){const e=t.tile_xyz_to_key(i,s,_);t.tiles.has(e)&&g.push(e)}}}null==r&&d.push(e)}this._render_tiles(c),this._render_tiles(g),this._render_tiles(m),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout(()=>this._fetch_tiles(d),65)}}i.TileRendererView=u,u.__name__=\"TileRendererView\";class b extends n.DataRenderer{constructor(t){super(t),this._selection_manager=new m.SelectionManager({source:new c.ColumnDataSource})}static init_TileRenderer(){this.prototype.default_view=u,this.define({alpha:[o.Number,1],smoothing:[o.Boolean,!0],tile_source:[o.Instance,()=>new _.WMTSTileSource],render_parents:[o.Boolean,!0]})}get_selection_manager(){return this._selection_manager}}i.TileRenderer=b,b.__name__=\"TileRenderer\",b.init_TileRenderer()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const o=e(333);class s extends o.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars),[s,c,_]=this.tms_to_wmts(e,t,r);return o.replace(\"{X}\",s.toString()).replace(\"{Y}\",c.toString()).replace(\"{Z}\",_.toString())}}r.WMTSTileSource=s,s.__name__=\"WMTSTileSource\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.bk_tile_attribution=\"bk-tile-attribution\"},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});n.default=\"\\n.bk-root .bk-tile-attribution a {\\n color: black;\\n}\\n\"},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(333);class c extends o.MercatorTileSource{constructor(e){super(e)}get_image_url(e,r,t){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",r.toString()).replace(\"{Z}\",t.toString())}}t.TMSTileSource=c,c.__name__=\"TMSTileSource\"},\n", + " function _(e,r,a){Object.defineProperty(a,\"__esModule\",{value:!0});var t=e(343);a.CanvasTexture=t.CanvasTexture;var u=e(345);a.ImageURLTexture=u.ImageURLTexture;var v=e(344);a.Texture=v.Texture},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=t(1),c=t(344),s=r.__importStar(t(18)),i=t(29);class a extends c.Texture{constructor(t){super(t)}static init_CanvasTexture(){this.define({code:[s.String]})}get func(){const t=i.use_strict(this.code);return new Function(\"ctx\",\"color\",\"scale\",\"weight\",t)}get_pattern(t,e,n){return r=>{const c=document.createElement(\"canvas\");c.width=e,c.height=e;const s=c.getContext(\"2d\");return this.func.call(this,s,t,e,n),r.createPattern(c,this.repetition)}}}n.CanvasTexture=a,a.__name__=\"CanvasTexture\",a.init_CanvasTexture()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1),n=e(81),o=r.__importStar(e(18));class _ extends n.Model{constructor(e){super(e)}static init_Texture(){this.define({repetition:[o.TextureRepetition,\"repeat\"]})}onload(e){e()}}i.Texture=_,_.__name__=\"Texture\",_.init_Texture()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1),a=e(344),n=r.__importStar(e(18)),s=e(251);class o extends a.Texture{constructor(e){super(e)}static init_ImageURLTexture(){this.define({url:[n.String]})}initialize(){super.initialize(),this._loader=new s.ImageLoader(this.url)}get_pattern(e,t,i){return e=>this._loader.finished?e.createPattern(this._loader.image,this.repetition):null}onload(e){this._loader.promise.then(()=>e())}}i.ImageURLTexture=o,o.__name__=\"ImageURLTexture\",o.init_ImageURLTexture()},\n", + " function _(o,l,T){Object.defineProperty(T,\"__esModule\",{value:!0});var a=o(307);T.ActionTool=a.ActionTool;var r=o(347);T.CustomAction=r.CustomAction;var e=o(308);T.HelpTool=e.HelpTool;var v=o(348);T.RedoTool=v.RedoTool;var t=o(349);T.ResetTool=t.ResetTool;var n=o(350);T.SaveTool=n.SaveTool;var s=o(351);T.UndoTool=s.UndoTool;var i=o(352);T.ZoomInTool=i.ZoomInTool;var P=o(355);T.ZoomOutTool=P.ZoomOutTool;var c=o(296);T.ButtonTool=c.ButtonTool;var d=o(356);T.EditTool=d.EditTool;var u=o(357);T.BoxEditTool=u.BoxEditTool;var y=o(358);T.FreehandDrawTool=y.FreehandDrawTool;var m=o(359);T.PointDrawTool=m.PointDrawTool;var x=o(360);T.PolyDrawTool=x.PolyDrawTool;var B=o(361);T.PolyTool=B.PolyTool;var S=o(362);T.PolyEditTool=S.PolyEditTool;var b=o(363);T.BoxSelectTool=b.BoxSelectTool;var h=o(366);T.BoxZoomTool=h.BoxZoomTool;var E=o(306);T.GestureTool=E.GestureTool;var Z=o(367);T.LassoSelectTool=Z.LassoSelectTool;var p=o(369);T.LineEditTool=p.LineEditTool;var w=o(371);T.PanTool=w.PanTool;var C=o(368);T.PolySelectTool=C.PolySelectTool;var D=o(372);T.RangeTool=D.RangeTool;var H=o(364);T.SelectTool=H.SelectTool;var R=o(373);T.TapTool=R.TapTool;var A=o(374);T.WheelPanTool=A.WheelPanTool;var I=o(375);T.WheelZoomTool=I.WheelZoomTool;var L=o(376);T.CrosshairTool=L.CrosshairTool;var W=o(377);T.CustomJSHover=W.CustomJSHover;var O=o(378);T.HoverTool=O.HoverTool;var _=o(295);T.InspectTool=_.InspectTool;var f=o(298);T.Tool=f.Tool;var g=o(379);T.ToolProxy=g.ToolProxy;var F=o(294);T.Toolbar=F.Toolbar;var G=o(305);T.ToolbarBase=G.ToolbarBase;var J=o(380);T.ProxyToolbar=J.ProxyToolbar;var U=o(380);T.ToolbarBox=U.ToolbarBox},\n", + " function _(t,o,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),s=t(307),e=n.__importStar(t(18)),c=t(299);class _ extends s.ActionToolButtonView{css_classes(){return super.css_classes().concat(c.bk_toolbar_button_custom_action)}}i.CustomActionButtonView=_,_.__name__=\"CustomActionButtonView\";class l extends s.ActionToolView{doit(){null!=this.model.callback&&this.model.callback.execute(this.model)}}i.CustomActionView=l,l.__name__=\"CustomActionView\";class u extends s.ActionTool{constructor(t){super(t),this.tool_name=\"Custom Action\",this.button_view=_}static init_CustomAction(){this.prototype.default_view=l,this.define({action_tooltip:[e.String,\"Perform a Custom Action\"],callback:[e.Any],icon:[e.String]})}get tooltip(){return this.action_tooltip}}i.CustomAction=u,u.__name__=\"CustomAction\",u.init_CustomAction()},\n", + " function _(o,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=o(307),s=o(309);class n extends i.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state_changed,()=>this.model.disabled=!this.plot_view.can_redo())}doit(){this.plot_view.redo()}}t.RedoToolView=n,n.__name__=\"RedoToolView\";class _ extends i.ActionTool{constructor(o){super(o),this.tool_name=\"Redo\",this.icon=s.bk_tool_icon_redo}static init_RedoTool(){this.prototype.default_view=n,this.override({disabled:!0}),this.register_alias(\"redo\",()=>new _)}}t.RedoTool=_,_.__name__=\"RedoTool\",_.init_RedoTool()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(307),i=e(309);class _ extends s.ActionToolView{doit(){this.plot_view.reset()}}o.ResetToolView=_,_.__name__=\"ResetToolView\";class l extends s.ActionTool{constructor(e){super(e),this.tool_name=\"Reset\",this.icon=i.bk_tool_icon_reset}static init_ResetTool(){this.prototype.default_view=_,this.register_alias(\"reset\",()=>new l)}}o.ResetTool=l,l.__name__=\"ResetTool\",l.init_ResetTool()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const a=e(307),i=e(309);class n extends a.ActionToolView{async copy(){const e=await this.plot_view.to_blob(),o=new ClipboardItem({[e.type]:e});await navigator.clipboard.write([o])}async save(e){const o=await this.plot_view.to_blob(),t=document.createElement(\"a\");t.href=URL.createObjectURL(o),t.download=e,t.target=\"_blank\",t.dispatchEvent(new MouseEvent(\"click\"))}doit(e=\"save\"){switch(e){case\"save\":this.save(\"bokeh_plot\");break;case\"copy\":this.copy()}}}t.SaveToolView=n,n.__name__=\"SaveToolView\";class s extends a.ActionTool{constructor(e){super(e),this.tool_name=\"Save\",this.icon=i.bk_tool_icon_save}static init_SaveTool(){this.prototype.default_view=n,this.register_alias(\"save\",()=>new s)}get menu(){return[{icon:\"bk-tool-icon-copy-to-clipboard\",tooltip:\"Copy image to clipboard\",if:()=>\"undefined\"!=typeof ClipboardItem,handler:()=>{this.do.emit(\"copy\")}}]}}t.SaveTool=s,s.__name__=\"SaveTool\",s.init_SaveTool()},\n", + " function _(o,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=o(307),i=o(309);class s extends n.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state_changed,()=>this.model.disabled=!this.plot_view.can_undo())}doit(){this.plot_view.undo()}}e.UndoToolView=s,s.__name__=\"UndoToolView\";class _ extends n.ActionTool{constructor(o){super(o),this.tool_name=\"Undo\",this.icon=i.bk_tool_icon_undo}static init_UndoTool(){this.prototype.default_view=s,this.override({disabled:!0}),this.register_alias(\"undo\",()=>new _)}}e.UndoTool=_,_.__name__=\"UndoTool\",_.init_UndoTool()},\n", + " function _(o,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=o(353),s=o(309);class t extends n.ZoomBaseTool{constructor(o){super(o),this.sign=1,this.tool_name=\"Zoom In\",this.icon=s.bk_tool_icon_zoom_in}static init_ZoomInTool(){this.prototype.default_view=n.ZoomBaseToolView,this.register_alias(\"zoom_in\",()=>new t({dimensions:\"both\"})),this.register_alias(\"xzoom_in\",()=>new t({dimensions:\"width\"})),this.register_alias(\"yzoom_in\",()=>new t({dimensions:\"height\"}))}}e.ZoomInTool=t,t.__name__=\"ZoomInTool\",t.init_ZoomInTool()},\n", + " function _(o,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=o(1),s=o(307),n=o(354),_=i.__importStar(o(18));class l extends s.ActionToolView{doit(){const o=this.plot_view.frame,t=this.model.dimensions,e=\"width\"==t||\"both\"==t,i=\"height\"==t||\"both\"==t,s=n.scale_range(o,this.model.sign*this.model.factor,e,i);this.plot_view.push_state(\"zoom_out\",{range:s}),this.plot_view.update_range(s,!1,!0),this.model.document&&this.model.document.interactive_start(this.plot_model)}}e.ZoomBaseToolView=l,l.__name__=\"ZoomBaseToolView\";class a extends s.ActionTool{constructor(o){super(o)}static init_ZoomBaseTool(){this.prototype.default_view=l,this.define({factor:[_.Percent,.1],dimensions:[_.Dimensions,\"both\"]})}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}e.ZoomBaseTool=a,a.__name__=\"ZoomBaseTool\",a.init_ZoomBaseTool()},\n", + " function _(n,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=n(10);function r(n,e,t){const[o,r]=[n.start,n.end],s=null!=t?t:(r+o)/2;return[o-(o-s)*e,r-(r-s)*e]}function s(n,[e,t]){const o=new Map;for(const[r,s]of n){const[n,c]=s.r_invert(e,t);o.set(r,{start:n,end:c})}return o}t.scale_highlow=r,t.get_info=s,t.scale_range=function(n,e,t=!0,c=!0,l){e=o.clamp(e,-.9,.9);const a=t?e:0,[u,_]=r(n.bbox.h_range,a,null!=l?l.x:void 0),i=s(n.x_scales,[u,_]),f=c?e:0,[d,b]=r(n.bbox.v_range,f,null!=l?l.y:void 0);return{xrs:i,yrs:s(n.y_scales,[d,b]),factor:e}}},\n", + " function _(o,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=o(353),s=o(309);class n extends e.ZoomBaseTool{constructor(o){super(o),this.sign=-1,this.tool_name=\"Zoom Out\",this.icon=s.bk_tool_icon_zoom_out}static init_ZoomOutTool(){this.prototype.default_view=e.ZoomBaseToolView,this.register_alias(\"zoom_out\",()=>new n({dimensions:\"both\"})),this.register_alias(\"xzoom_out\",()=>new n({dimensions:\"width\"})),this.register_alias(\"yzoom_out\",()=>new n({dimensions:\"height\"}))}}i.ZoomOutTool=n,n.__name__=\"ZoomOutTool\",n.init_ZoomOutTool()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(1).__importStar(e(18)),i=e(9),n=e(8),r=e(11),_=e(306);class c extends _.GestureToolView{constructor(){super(...arguments),this._mouse_in_frame=!0}_select_mode(e){const{shiftKey:t,ctrlKey:o}=e;return t||o?t&&!o?\"append\":!t&&o?\"intersect\":t&&o?\"subtract\":void r.unreachable():\"replace\"}_move_enter(e){this._mouse_in_frame=!0}_move_exit(e){this._mouse_in_frame=!1}_map_drag(e,t,o){if(!this.plot_view.frame.bbox.contains(e,t))return null;const s=this.plot_view.renderer_views.get(o);return[s.coordinates.x_scale.invert(e),s.coordinates.y_scale.invert(t)]}_delete_selected(e){const t=e.data_source,o=t.selected.indices;o.sort();for(const e of t.columns()){const s=t.get_array(e);for(let e=0;ethis._show_vertices())}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),this.model.vertex_renderer&&this._hide_vertices()}}s.PolyDrawToolView=d,d.__name__=\"PolyDrawToolView\";class l extends n.PolyTool{constructor(e){super(e),this.tool_name=\"Polygon Draw Tool\",this.icon=_.bk_tool_icon_poly_draw,this.event_type=[\"pan\",\"tap\",\"move\"],this.default_order=3}static init_PolyDrawTool(){this.prototype.default_view=d,this.define({drag:[a.Boolean,!0],num_objects:[a.Int,0]})}}s.PolyDrawTool=l,l.__name__=\"PolyDrawTool\",l.init_PolyDrawTool()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const o=e(1).__importStar(e(18)),i=e(8),s=e(356);class _ extends s.EditToolView{_set_vertices(e,t){const r=this.model.vertex_renderer.glyph,o=this.model.vertex_renderer.data_source,[s,_]=[r.x.field,r.y.field];s&&(i.isArray(e)?o.data[s]=e:r.x={value:e}),_&&(i.isArray(t)?o.data[_]=t:r.y={value:t}),this._emit_cds_changes(o,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,t,r){if(this.model.vertex_renderer){const o=this._select_event(e,\"replace\",[this.model.vertex_renderer]),i=this.model.vertex_renderer.data_source,s=this.model.vertex_renderer.glyph,[_,l]=[s.x.field,s.y.field];if(o.length){const e=i.selected.indices[0];_&&(t=i.data[_][e]),l&&(r=i.data[l][e]),i.selection_manager.clear()}}return[t,r]}}r.PolyToolView=_,_.__name__=\"PolyToolView\";class l extends s.EditTool{constructor(e){super(e)}static init_PolyTool(){this.prototype.default_view=_,this.define({vertex_renderer:[o.Instance]})}}r.PolyTool=l,l.__name__=\"PolyTool\",l.init_PolyTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const r=e(72),i=e(8),_=e(361),d=e(309);class n extends _.PolyToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this._map_drag(e.sx,e.sy,this.model.vertex_renderer);if(null==t)return;const[s,r]=t,i=this._select_event(e,\"replace\",[this.model.vertex_renderer]),_=this.model.vertex_renderer.data_source,d=this.model.vertex_renderer.glyph,[n,l]=[d.x.field,d.y.field];if(i.length&&null!=this._selected_renderer){const e=_.selected.indices[0];this._drawing?(this._drawing=!1,_.selection_manager.clear()):(_.selected.indices=[e+1],n&&_.get_array(n).splice(e+1,0,s),l&&_.get_array(l).splice(e+1,0,r),this._drawing=!0),_.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}else this._show_vertices(e)}_show_vertices(e){if(!this.model.active)return;const t=this._select_event(e,\"replace\",this.model.renderers);if(!t.length)return this._set_vertices([],[]),this._selected_renderer=null,void(this._drawing=!1);const s=t[0],r=s.glyph,_=s.data_source,d=_.selected.indices[0],[n,l]=[r.xs.field,r.ys.field];let a,c;n?(a=_.data[n][d],i.isArray(a)||(_.data[n][d]=a=Array.from(a))):a=r.xs.value,l?(c=_.data[l][d],i.isArray(c)||(_.data[l][d]=c=Array.from(c))):c=r.ys.value,this._selected_renderer=s,this._set_vertices(a,c)}_move(e){if(this._drawing&&null!=this._selected_renderer){const t=this.model.vertex_renderer,s=t.data_source,r=t.glyph,i=this._map_drag(e.sx,e.sy,t);if(null==i)return;let[_,d]=i;const n=s.selected.indices;[_,d]=this._snap_to_vertex(e,_,d),s.selected.indices=n;const[l,a]=[r.x.field,r.y.field],c=n[0];l&&(s.data[l][c]=_),a&&(s.data[a][c]=d),s.change.emit(),this._selected_renderer.data_source.change.emit()}}_tap(e){const t=this.model.vertex_renderer,s=this._map_drag(e.sx,e.sy,t);if(null==s)return;if(this._drawing&&this._selected_renderer){let[r,i]=s;const _=t.data_source,d=t.glyph,[n,l]=[d.x.field,d.y.field],a=_.selected.indices;[r,i]=this._snap_to_vertex(e,r,i);const c=a[0];if(_.selected.indices=[c+1],n){const e=_.get_array(n),t=e[c];e[c]=r,e.splice(c+1,0,t)}if(l){const e=_.get_array(l),t=e[c];e[c]=i,e.splice(c+1,0,t)}return _.change.emit(),void this._emit_cds_changes(this._selected_renderer.data_source,!0,!1,!0)}const r=this._select_mode(e);this._select_event(e,r,[t]),this._select_event(e,r,this.model.renderers)}_remove_vertex(){if(!this._drawing||!this._selected_renderer)return;const e=this.model.vertex_renderer,t=e.data_source,s=e.glyph,r=t.selected.indices[0],[i,_]=[s.x.field,s.y.field];i&&t.get_array(i).splice(r,1),_&&t.get_array(_).splice(r,1),t.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}_pan_start(e){this._select_event(e,\"append\",[this.model.vertex_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._emit_cds_changes(this.model.vertex_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}_keyup(e){if(!this.model.active||!this._mouse_in_frame)return;let t;t=this._selected_renderer?[this.model.vertex_renderer]:this.model.renderers;for(const s of t)e.keyCode===r.Keys.Backspace?(this._delete_selected(s),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):e.keyCode==r.Keys.Esc&&(this._drawing?(this._remove_vertex(),this._drawing=!1):this._selected_renderer&&this._hide_vertices(),s.data_source.selection_manager.clear())}deactivate(){this._selected_renderer&&(this._drawing&&(this._remove_vertex(),this._drawing=!1),this._hide_vertices())}}s.PolyEditToolView=n,n.__name__=\"PolyEditToolView\";class l extends _.PolyTool{constructor(e){super(e),this.tool_name=\"Poly Edit Tool\",this.icon=d.bk_tool_icon_poly_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}static init_PolyEditTool(){this.prototype.default_view=n}}s.PolyEditTool=l,l.__name__=\"PolyEditTool\",l.init_PolyEditTool()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(1),i=e(364),l=e(124),_=s.__importStar(e(18)),n=e(309);class c extends i.SelectToolView{_compute_limits(e){const t=this.plot_view.frame,o=this.model.dimensions;let s=this._base_point;if(\"center\"==this.model.origin){const[t,o]=s,[i,l]=e;s=[t-(i-t),o-(l-o)]}return this.model._get_dim_limits(s,e,t,o)}_pan_start(e){const{sx:t,sy:o}=e;this._base_point=[t,o]}_pan(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this.model.overlay.update({left:i[0],right:i[1],top:l[0],bottom:l[1]}),this.model.select_every_mousemove&&this._do_select(i,l,!1,this._select_mode(e))}_pan_end(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this._do_select(i,l,!0,this._select_mode(e)),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,this.plot_view.push_state(\"box_select\",{selection:this.plot_view.get_selection()})}_do_select([e,t],[o,s],i,l=\"replace\"){const _={type:\"rect\",sx0:e,sx1:t,sy0:o,sy1:s};this._select(_,i,l)}}o.BoxSelectToolView=c,c.__name__=\"BoxSelectToolView\";const r=()=>new l.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class h extends i.SelectTool{constructor(e){super(e),this.tool_name=\"Box Select\",this.icon=n.bk_tool_icon_box_select,this.event_type=\"pan\",this.default_order=30}static init_BoxSelectTool(){this.prototype.default_view=c,this.define({dimensions:[_.Dimensions,\"both\"],select_every_mousemove:[_.Boolean,!1],overlay:[_.Instance,r],origin:[_.BoxOrigin,\"corner\"]}),this.register_alias(\"box_select\",()=>new h),this.register_alias(\"xbox_select\",()=>new h({dimensions:\"width\"})),this.register_alias(\"ybox_select\",()=>new h({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}o.BoxSelectTool=h,h.__name__=\"BoxSelectTool\",h.init_BoxSelectTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(1),o=e(306),r=e(90),c=e(116),i=e(365),l=n.__importStar(e(18)),a=e(72),_=e(313),d=e(15),h=e(11);class p extends o.GestureToolView{connect_signals(){super.connect_signals(),this.model.clear.connect(()=>this._clear())}get computed_renderers(){const e=this.model.renderers,t=this.plot_model.renderers,s=this.model.names;return i.compute_renderers(e,t,s)}_computed_renderers_by_data_source(){var e;const t=new Map;for(const s of this.computed_renderers){let n;if(s instanceof r.GlyphRenderer)n=s.data_source;else{if(!(s instanceof c.GraphRenderer))continue;n=s.node_renderer.data_source}const o=null!==(e=t.get(n))&&void 0!==e?e:[];t.set(n,[...o,s])}return t}_select_mode(e){const{shiftKey:t,ctrlKey:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void h.unreachable():this.model.mode}_keyup(e){e.keyCode==a.Keys.Esc&&this._clear()}_clear(){for(const e of this.computed_renderers)e.get_selection_manager().clear();this.plot_view.request_render()}_select(e,t,s){const n=this._computed_renderers_by_data_source();for(const[,o]of n){const n=o[0].get_selection_manager(),r=[];for(const e of o){const t=this.plot_view.renderer_views.get(e);null!=t&&r.push(t)}n.select(r,e,t,s)}null!=this.model.callback&&this._emit_callback(e),this._emit_selection_event(e,t)}_emit_selection_event(e,t=!0){const{x_scale:s,y_scale:n}=this.plot_view.frame;let o;switch(e.type){case\"point\":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"span\":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"rect\":{const{sx0:t,sx1:r,sy0:c,sy1:i}=e,[l,a]=s.r_invert(t,r),[_,d]=n.r_invert(c,i);o=Object.assign(Object.assign({},e),{x0:l,y0:_,x1:a,y1:d});break}case\"poly\":{const{sx:t,sy:r}=e,c=s.v_invert(t),i=n.v_invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}}this.plot_model.trigger_event(new _.SelectionGeometry(o,t))}}s.SelectToolView=p,p.__name__=\"SelectToolView\";class u extends o.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new d.Signal0(this,\"clear\")}static init_SelectTool(){this.define({renderers:[l.Any,\"auto\"],names:[l.Array,[]],mode:[l.Any,\"replace\"]})}get menu(){return[{icon:\"bk-tool-icon-replace-mode\",tooltip:\"Replace the current selection\",active:()=>\"replace\"==this.mode,handler:()=>{this.mode=\"replace\",this.active=!0}},{icon:\"bk-tool-icon-append-mode\",tooltip:\"Append to the current selection (Shift)\",active:()=>\"append\"==this.mode,handler:()=>{this.mode=\"append\",this.active=!0}},{icon:\"bk-tool-icon-intersect-mode\",tooltip:\"Intersect with the current selection (Ctrl)\",active:()=>\"intersect\"==this.mode,handler:()=>{this.mode=\"intersect\",this.active=!0}},{icon:\"bk-tool-icon-subtract-mode\",tooltip:\"Subtract from the current selection (Shift+Ctrl)\",active:()=>\"subtract\"==this.mode,handler:()=>{this.mode=\"subtract\",this.active=!0}},null,{icon:\"bk-tool-icon-clear-selection\",tooltip:\"Clear the current selection (Esc)\",handler:()=>{this.clear.emit()}}]}}s.SelectTool=u,u.__name__=\"SelectTool\",u.init_SelectTool()},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const r=e(9);t.compute_renderers=function(e,n,t){if(null==e)return[];let u=\"auto\"==e?n:e;return t.length>0&&(u=u.filter(e=>r.includes(t,e.name))),u}},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=t(1),i=t(306),n=t(124),_=s.__importStar(t(18)),a=t(309);class l extends i.GestureToolView{_match_aspect(t,o,e){const s=e.bbox.aspect,i=e.bbox.h_range.end,n=e.bbox.h_range.start,_=e.bbox.v_range.end,a=e.bbox.v_range.start;let l=Math.abs(t[0]-o[0]),r=Math.abs(t[1]-o[1]);const h=0==r?0:l/r,[c]=h>=s?[1,h/s]:[s/h,1];let m,p,d,b;return t[0]<=o[0]?(m=t[0],p=t[0]+l*c,p>i&&(p=i)):(p=t[0],m=t[0]-l*c,m_&&(d=_)):(d=t[1],b=t[1]-l/s,bnew n.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class h extends i.GestureTool{constructor(t){super(t),this.tool_name=\"Box Zoom\",this.icon=a.bk_tool_icon_box_zoom,this.event_type=\"pan\",this.default_order=20}static init_BoxZoomTool(){this.prototype.default_view=l,this.define({dimensions:[_.Dimensions,\"both\"],overlay:[_.Instance,r],match_aspect:[_.Boolean,!1],origin:[_.BoxOrigin,\"corner\"]}),this.register_alias(\"box_zoom\",()=>new h({dimensions:\"both\"})),this.register_alias(\"xbox_zoom\",()=>new h({dimensions:\"width\"})),this.register_alias(\"ybox_zoom\",()=>new h({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}e.BoxZoomTool=h,h.__name__=\"BoxZoomTool\",h.init_BoxZoomTool()},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(1),a=e(364),i=e(368),l=e(72),_=o.__importStar(e(18)),c=e(309);class n extends a.SelectToolView{initialize(){super.initialize(),this.data=null}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,()=>this._active_change())}_active_change(){this.model.active||this._clear_overlay()}_keyup(e){e.keyCode==l.Keys.Enter&&this._clear_overlay()}_pan_start(e){const{sx:s,sy:t}=e;this.data={sx:[s],sy:[t]}}_pan(e){const{sx:s,sy:t}=e,[o,a]=this.plot_view.frame.bbox.clip(s,t);this.data.sx.push(o),this.data.sy.push(a);this.model.overlay.update({xs:this.data.sx,ys:this.data.sy}),this.model.select_every_mousemove&&this._do_select(this.data.sx,this.data.sy,!1,this._select_mode(e))}_pan_end(e){this._clear_overlay(),this._do_select(this.data.sx,this.data.sy,!0,this._select_mode(e)),this.plot_view.push_state(\"lasso_select\",{selection:this.plot_view.get_selection()})}_clear_overlay(){this.model.overlay.update({xs:[],ys:[]})}_do_select(e,s,t,o){const a={type:\"poly\",sx:e,sy:s};this._select(a,t,o)}}t.LassoSelectToolView=n,n.__name__=\"LassoSelectToolView\";class h extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Lasso Select\",this.icon=c.bk_tool_icon_lasso_select,this.event_type=\"pan\",this.default_order=12}static init_LassoSelectTool(){this.prototype.default_view=n,this.define({select_every_mousemove:[_.Boolean,!0],overlay:[_.Instance,i.DEFAULT_POLY_OVERLAY]}),this.register_alias(\"lasso_select\",()=>new h)}}t.LassoSelectTool=h,h.__name__=\"LassoSelectTool\",h.init_LassoSelectTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const l=e(1),i=e(364),o=e(166),a=e(72),_=l.__importStar(e(18)),c=e(9),n=e(309);class h extends i.SelectToolView{initialize(){super.initialize(),this.data={sx:[],sy:[]}}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,()=>this._active_change())}_active_change(){this.model.active||this._clear_data()}_keyup(e){e.keyCode==a.Keys.Enter&&this._clear_data()}_doubletap(e){this._do_select(this.data.sx,this.data.sy,!0,this._select_mode(e)),this.plot_view.push_state(\"poly_select\",{selection:this.plot_view.get_selection()}),this._clear_data()}_clear_data(){this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})}_tap(e){const{sx:t,sy:s}=e;this.plot_view.frame.bbox.contains(t,s)&&(this.data.sx.push(t),this.data.sy.push(s),this.model.overlay.update({xs:c.copy(this.data.sx),ys:c.copy(this.data.sy)}))}_do_select(e,t,s,l){const i={type:\"poly\",sx:e,sy:t};this._select(i,s,l)}}s.PolySelectToolView=h,h.__name__=\"PolySelectToolView\",s.DEFAULT_POLY_OVERLAY=()=>new o.PolyAnnotation({level:\"overlay\",xs_units:\"screen\",ys_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class y extends i.SelectTool{constructor(e){super(e),this.tool_name=\"Poly Select\",this.icon=n.bk_tool_icon_polygon_select,this.event_type=\"tap\",this.default_order=11}static init_PolySelectTool(){this.prototype.default_view=h,this.define({overlay:[_.Instance,s.DEFAULT_POLY_OVERLAY]}),this.register_alias(\"poly_select\",()=>new y)}}s.PolySelectTool=y,y.__name__=\"PolySelectTool\",y.init_PolySelectTool()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(370),r=s.__importStar(e(18)),_=e(309);class d extends n.LineToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const i of t){1==this._select_event(e,\"replace\",[i]).length&&(this._selected_renderer=i)}this._show_intersections(),this._update_line_cds()}_show_intersections(){if(!this.model.active)return;if(null==this._selected_renderer)return;if(!this.model.renderers.length)return this._set_intersection([],[]),this._selected_renderer=null,void(this._drawing=!1);const e=this._selected_renderer.data_source,t=this._selected_renderer.glyph,[i,s]=[t.x.field,t.y.field],n=e.get_array(i),r=e.get_array(s);this._set_intersection(n,r)}_tap(e){const t=this.model.intersection_renderer;if(null==this._map_drag(e.sx,e.sy,t))return;if(this._drawing&&this._selected_renderer){const i=this._select_mode(e);if(0==this._select_event(e,i,[t]).length)return}const i=this._select_mode(e);this._select_event(e,i,[t]),this._select_event(e,i,this.model.renderers)}_update_line_cds(){if(null==this._selected_renderer)return;const e=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[i,s]=[e.x.field,e.y.field];if(i&&s){const e=t.data[i],n=t.data[s];this._selected_renderer.data_source.data[i]=e,this._selected_renderer.data_source.data[s]=n}this._emit_cds_changes(this._selected_renderer.data_source,!0,!0,!1)}_pan_start(e){this._select_event(e,\"append\",[this.model.intersection_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer],this.model.dimensions),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer]),this._emit_cds_changes(this.model.intersection_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}activate(){this._drawing=!0}deactivate(){this._selected_renderer&&(this._drawing&&(this._drawing=!1),this._hide_intersections())}}i.LineEditToolView=d,d.__name__=\"LineEditToolView\";class o extends n.LineTool{constructor(e){super(e),this.tool_name=\"Line Edit Tool\",this.icon=_.bk_tool_icon_line_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}static init_LineEditTool(){this.prototype.default_view=d,this.define({dimensions:[r.Dimensions,\"both\"]})}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}i.LineEditTool=o,o.__name__=\"LineEditTool\",o.init_LineEditTool()},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1).__importStar(e(18)),o=e(8),s=e(356);class _ extends s.EditToolView{_set_intersection(e,i){const t=this.model.intersection_renderer.glyph,n=this.model.intersection_renderer.data_source,[s,_]=[t.x.field,t.y.field];s&&(o.isArray(e)?n.data[s]=e:t.x={value:e}),_&&(o.isArray(i)?n.data[_]=i:t.y={value:i}),this._emit_cds_changes(n,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}t.LineToolView=_,_.__name__=\"LineToolView\";class r extends s.EditTool{constructor(e){super(e)}static init_LineTool(){this.prototype.default_view=_,this.define({intersection_renderer:[n.Instance]})}}t.LineTool=r,r.__name__=\"LineTool\",r.init_LineTool()},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(1),i=t(306),o=n.__importStar(t(18)),a=t(309);function _(t,s,e){const n=new Map;for(const[i,o]of t){const[t,a]=o.r_invert(s,e);n.set(i,{start:t,end:a})}return n}e.update_ranges=_;class h extends i.GestureToolView{_pan_start(t){this.last_dx=0,this.last_dy=0;const{sx:s,sy:e}=t,n=this.plot_view.frame.bbox;if(!n.contains(s,e)){const t=n.h_range,i=n.v_range;(st.end)&&(this.v_axis_only=!0),(ei.end)&&(this.h_axis_only=!0)}null!=this.model.document&&this.model.document.interactive_start(this.plot_model)}_pan(t){this._update(t.deltaX,t.deltaY),null!=this.model.document&&this.model.document.interactive_start(this.plot_model)}_pan_end(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.push_state(\"pan\",{range:this.pan_info})}_update(t,s){const e=this.plot_view.frame,n=t-this.last_dx,i=s-this.last_dy,o=e.bbox.h_range,a=o.start-n,h=o.end-n,l=e.bbox.v_range,r=l.start-i,d=l.end-i,p=this.model.dimensions;let c,u,m,x,y,g;\"width\"!=p&&\"both\"!=p||this.v_axis_only?(c=o.start,u=o.end,m=0):(c=a,u=h,m=-n),\"height\"!=p&&\"both\"!=p||this.h_axis_only?(x=l.start,y=l.end,g=0):(x=r,y=d,g=-i),this.last_dx=t,this.last_dy=s;const{x_scales:w,y_scales:b}=e,f=_(w,c,u),v=_(b,x,y);this.pan_info={xrs:f,yrs:v,sdx:m,sdy:g},this.plot_view.update_range(this.pan_info,!0)}}e.PanToolView=h,h.__name__=\"PanToolView\";class l extends i.GestureTool{constructor(t){super(t),this.tool_name=\"Pan\",this.event_type=\"pan\",this.default_order=10}static init_PanTool(){this.prototype.default_view=h,this.define({dimensions:[o.Dimensions,\"both\"]}),this.register_alias(\"pan\",()=>new l({dimensions:\"both\"})),this.register_alias(\"xpan\",()=>new l({dimensions:\"width\"})),this.register_alias(\"ypan\",()=>new l({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(\"Pan\",this.dimensions)}get icon(){switch(this.dimensions){case\"both\":return a.bk_tool_icon_pan;case\"width\":return a.bk_tool_icon_xpan;case\"height\":return a.bk_tool_icon_ypan}}}e.PanTool=l,l.__name__=\"PanTool\",l.init_PanTool()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(124),l=e(19),a=s.__importStar(e(18)),r=e(306),o=e(309);function _(e){switch(e){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return e}}function h(e,t,i,s){if(null==t)return!1;const n=i.compute(t);return Math.abs(e-n)n.right)&&(l=!1)}if(null!=n.bottom&&null!=n.top){const e=s.invert(t);(en.top)&&(l=!1)}return l}function u(e,t,i){let s=0;return e>=i.start&&e<=i.end&&(s+=1),t>=i.start&&t<=i.end&&(s+=1),s}function c(e,t,i,s){const n=t.compute(e),l=t.invert(n+i);return l>=s.start&&l<=s.end?l:e}function g(e,t,i){return e>t.start?(t.end=e,i):(t.end=t.start,t.start=e,_(i))}function y(e,t,i){return e=o&&(e.start=a,e.end=r)}i.flip_side=_,i.is_near=h,i.is_inside=d,i.sides_inside=u,i.compute_value=c,i.update_range_end_side=g,i.update_range_start_side=y,i.update_range=f;class p extends r.GestureToolView{initialize(){super.initialize(),this.side=0,this.model.update_overlay_from_ranges()}connect_signals(){super.connect_signals(),null!=this.model.x_range&&this.connect(this.model.x_range.change,()=>this.model.update_overlay_from_ranges()),null!=this.model.y_range&&this.connect(this.model.y_range.change,()=>this.model.update_overlay_from_ranges())}_pan_start(e){this.last_dx=0,this.last_dy=0;const t=this.model.x_range,i=this.model.y_range,{frame:s}=this.plot_view,l=s.x_scale,a=s.y_scale,r=this.model.overlay,{left:o,right:_,top:u,bottom:c}=r,g=this.model.overlay.properties.line_width.value()+n.EDGE_TOLERANCE;null!=t&&this.model.x_interaction&&(h(e.sx,o,l,g)?this.side=1:h(e.sx,_,l,g)?this.side=2:d(e.sx,e.sy,l,a,r)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&h(e.sy,c,a,g)&&(this.side=4),0==this.side&&h(e.sy,u,a,g)?this.side=5:d(e.sx,e.sy,l,a,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))}_pan(e){const t=this.plot_view.frame,i=e.deltaX-this.last_dx,s=e.deltaY-this.last_dy,n=this.model.x_range,l=this.model.y_range,a=t.x_scale,r=t.y_scale;if(null!=n)if(3==this.side||7==this.side)f(n,a,i,t.x_range);else if(1==this.side){const e=c(n.start,a,i,t.x_range);this.side=y(e,n,this.side)}else if(2==this.side){const e=c(n.end,a,i,t.x_range);this.side=g(e,n,this.side)}if(null!=l)if(6==this.side||7==this.side)f(l,r,s,t.y_range);else if(4==this.side){const e=c(l.start,r,s,t.y_range);this.side=y(e,l,this.side)}else if(5==this.side){const e=c(l.end,r,s,t.y_range);this.side=g(e,l,this.side)}this.last_dx=e.deltaX,this.last_dy=e.deltaY}_pan_end(e){this.side=0}}i.RangeToolView=p,p.__name__=\"RangeToolView\";const m=()=>new n.BoxAnnotation({level:\"overlay\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:.5,line_dash:[2,2]});class v extends r.GestureTool{constructor(e){super(e),this.tool_name=\"Range Tool\",this.icon=o.bk_tool_icon_range,this.event_type=\"pan\",this.default_order=1}static init_RangeTool(){this.prototype.default_view=p,this.define({x_range:[a.Instance,null],x_interaction:[a.Boolean,!0],y_range:[a.Instance,null],y_interaction:[a.Boolean,!0],overlay:[a.Instance,m]})}initialize(){super.initialize(),this.overlay.in_cursor=\"grab\",this.overlay.ew_cursor=null!=this.x_range&&this.x_interaction?\"ew-resize\":null,this.overlay.ns_cursor=null!=this.y_range&&this.y_interaction?\"ns-resize\":null}update_overlay_from_ranges(){null==this.x_range&&null==this.y_range&&(this.overlay.left=null,this.overlay.right=null,this.overlay.bottom=null,this.overlay.top=null,l.logger.warn(\"RangeTool not configured with any Ranges.\")),null==this.x_range?(this.overlay.left=null,this.overlay.right=null):(this.overlay.left=this.x_range.start,this.overlay.right=this.x_range.end),null==this.y_range?(this.overlay.bottom=null,this.overlay.top=null):(this.overlay.bottom=this.y_range.start,this.overlay.top=this.y_range.end)}}i.RangeTool=v,v.__name__=\"RangeTool\",v.init_RangeTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),i=e(364),c=o.__importStar(e(18)),n=e(309);class a extends i.SelectToolView{_tap(e){const{sx:t,sy:s}=e,o={type:\"point\",sx:t,sy:s};this._select(o,!0,this._select_mode(e))}_select(e,t,s){const o=this.model.callback;if(\"select\"==this.model.behavior){const i=this._computed_renderers_by_data_source();for(const[,c]of i){const i=c[0].get_selection_manager(),n=c.map(e=>this.plot_view.renderer_views.get(e));if(i.select(n,e,t,s)&&null!=o){const t=n[0].coordinates.x_scale.invert(e.sx),s=n[0].coordinates.y_scale.invert(e.sy),c={geometries:Object.assign(Object.assign({},e),{x:t,y:s}),source:i.source};o.execute(this.model,c)}}this._emit_selection_event(e),this.plot_view.push_state(\"tap\",{selection:this.plot_view.get_selection()})}else for(const t of this.computed_renderers){const s=this.plot_view.renderer_views.get(t),i=t.get_selection_manager();if(i.inspect(s,e)&&null!=o){const t=s.coordinates.x_scale.invert(e.sx),c=s.coordinates.y_scale.invert(e.sy),n={geometries:Object.assign(Object.assign({},e),{x:t,y:c}),source:i.source};o.execute(this.model,n)}}}}s.TapToolView=a,a.__name__=\"TapToolView\";class _ extends i.SelectTool{constructor(e){super(e),this.tool_name=\"Tap\",this.icon=n.bk_tool_icon_tap_select,this.event_type=\"tap\",this.default_order=10}static init_TapTool(){this.prototype.default_view=a,this.define({behavior:[c.TapBehavior,\"select\"],callback:[c.Any]}),this.register_alias(\"click\",()=>new _({behavior:\"inspect\"})),this.register_alias(\"tap\",()=>new _)}}s.TapTool=_,_.__name__=\"TapTool\",_.init_TapTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),o=e(306),n=i.__importStar(e(18)),a=e(309),l=e(371);class _ extends o.GestureToolView{_scroll(e){let t=this.model.speed*e.delta;t>.9?t=.9:t<-.9&&(t=-.9),this._update_ranges(t)}_update_ranges(e){const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,[o,n]=[s.start,s.end],[a,_]=[i.start,i.end];let h,r,d,p;switch(this.model.dimension){case\"height\":{const t=Math.abs(_-a);h=o,r=n,d=a-t*e,p=_-t*e;break}case\"width\":{const t=Math.abs(n-o);h=o-t*e,r=n-t*e,d=a,p=_;break}default:throw new Error(\"this shouldn't have happened\")}const{x_scales:c,y_scales:u}=t,m={xrs:l.update_ranges(c,h,r),yrs:l.update_ranges(u,d,p),factor:e};this.plot_view.push_state(\"wheel_pan\",{range:m}),this.plot_view.update_range(m,!1,!0),null!=this.model.document&&this.model.document.interactive_start(this.plot_model)}}s.WheelPanToolView=_,_.__name__=\"WheelPanToolView\";class h extends o.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Pan\",this.icon=a.bk_tool_icon_wheel_pan,this.event_type=\"scroll\",this.default_order=12}static init_WheelPanTool(){this.prototype.default_view=_,this.define({dimension:[n.Dimension,\"width\"]}),this.internal({speed:[n.Number,.001]}),this.register_alias(\"xwheel_pan\",()=>new h({dimension:\"width\"})),this.register_alias(\"ywheel_pan\",()=>new h({dimension:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimension)}}s.WheelPanTool=h,h.__name__=\"WheelPanTool\",h.init_WheelPanTool()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1),i=e(306),l=e(354),n=s.__importStar(e(18)),_=e(32),h=e(309);class a extends i.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,ctrlKey:i,shiftKey:l}=e;let n;n=s>=1?20*(s-1):-20/s,this._scroll({type:\"wheel\",sx:o,sy:t,delta:n,ctrlKey:i,shiftKey:l})}_scroll(e){const{frame:o}=this.plot_view,t=o.bbox.h_range,s=o.bbox.v_range,{sx:i,sy:n}=e,_=this.model.dimensions,h=(\"width\"==_||\"both\"==_)&&t.startnew m({dimensions:\"both\"})),this.register_alias(\"xwheel_zoom\",()=>new m({dimensions:\"width\"})),this.register_alias(\"ywheel_zoom\",()=>new m({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}t.WheelZoomTool=m,m.__name__=\"WheelZoomTool\",m.init_WheelZoomTool()},\n", + " function _(i,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const t=i(1),o=i(295),n=i(168),l=t.__importStar(i(18)),h=i(13),a=i(309);class r extends o.InspectToolView{_move(i){if(!this.model.active)return;const{sx:s,sy:e}=i;this.plot_view.frame.bbox.contains(s,e)?this._update_spans(s,e):this._update_spans(null,null)}_move_exit(i){this._update_spans(null,null)}_update_spans(i,s){const e=this.model.dimensions;\"width\"!=e&&\"both\"!=e||(this.model.spans.width.location=s),\"height\"!=e&&\"both\"!=e||(this.model.spans.height.location=i)}}e.CrosshairToolView=r,r.__name__=\"CrosshairToolView\";class _ extends o.InspectTool{constructor(i){super(i),this.tool_name=\"Crosshair\",this.icon=a.bk_tool_icon_crosshair}static init_CrosshairTool(){this.prototype.default_view=r,this.define({dimensions:[l.Dimensions,\"both\"],line_color:[l.Color,\"black\"],line_width:[l.Number,1],line_alpha:[l.Number,1]}),this.internal({spans:[l.Any]}),this.register_alias(\"crosshair\",()=>new _)}get tooltip(){return this._get_dim_tooltip(\"Crosshair\",this.dimensions)}get synthetic_renderers(){return h.values(this.spans)}initialize(){super.initialize(),this.spans={width:new n.Span({for_hover:!0,dimension:\"width\",location_units:\"screen\",level:\"overlay\",line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha}),height:new n.Span({for_hover:!0,dimension:\"height\",location_units:\"screen\",level:\"overlay\",line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha})}}}e.CrosshairTool=_,_.__name__=\"CrosshairTool\",_.init_CrosshairTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const r=e(1),o=e(81),i=r.__importStar(e(18)),a=e(13),n=e(29);class u extends o.Model{constructor(e){super(e)}static init_CustomJSHover(){this.define({args:[i.Any,{}],code:[i.String,\"\"]})}get values(){return a.values(this.args)}_make_code(e,t,s,r){return new Function(...a.keys(this.args),e,t,s,n.use_strict(r))}format(e,t,s){return this._make_code(\"value\",\"format\",\"special_vars\",this.code)(...this.values,e,t,s)}}s.CustomJSHover=u,u.__name__=\"CustomJSHover\",u.init_CustomJSHover()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),n=e(295),i=e(171),r=e(90),l=e(116),c=e(365),a=o.__importStar(e(101)),_=e(187),d=e(72),p=o.__importStar(e(18)),h=e(22),m=e(13),u=e(303),y=e(8),f=e(115),x=e(309),v=e(172);function w(e,t,s,o,n,i){const r={x:n[e],y:i[e]},l={x:n[e+1],y:i[e+1]};let c,_;if(\"span\"==t.type)\"h\"==t.direction?(c=Math.abs(r.x-s),_=Math.abs(l.x-s)):(c=Math.abs(r.y-o),_=Math.abs(l.y-o));else{const e={x:s,y:o};c=a.dist_2_pts(r,e),_=a.dist_2_pts(l,e)}return c<_?[[r.x,r.y],e]:[[l.x,l.y],e+1]}function g(e,t,s){return[[e[s],t[s]],s]}s._nearest_line_hit=w,s._line_hit=g;class b extends n.InspectToolView{initialize(){super.initialize(),this._ttmodels=null,this._ttviews=new Map;const{tooltips:e}=this.model;y.isArray(e)&&(this._template_el=this._create_template(e))}remove(){f.remove_views(this._ttviews),super.remove()}connect_signals(){super.connect_signals();for(const e of this.computed_renderers)e instanceof r.GlyphRenderer?this.connect(e.data_source.inspect,this._update):e instanceof l.GraphRenderer&&(this.connect(e.node_renderer.data_source.inspect,this._update),this.connect(e.edge_renderer.data_source.inspect,this._update));this.connect(this.model.properties.renderers.change,()=>this._computed_renderers=this._ttmodels=null),this.connect(this.model.properties.names.change,()=>this._computed_renderers=this._ttmodels=null),this.connect(this.model.properties.tooltips.change,()=>this._ttmodels=null)}_compute_ttmodels(){const e=new Map,t=this.model.tooltips;if(null!=t)for(const s of this.computed_renderers){const o=new i.Tooltip({custom:y.isString(t)||y.isFunction(t),attachment:this.model.attachment,show_arrow:this.model.show_arrow});s instanceof r.GlyphRenderer?e.set(s,o):s instanceof l.GraphRenderer&&(e.set(s.node_renderer,o),e.set(s.edge_renderer,o))}return(async()=>{const t=await f.build_views(this._ttviews,[...e.values()],{parent:this.plot_view});for(const e of t)e.render()})(),e}get computed_renderers(){if(null==this._computed_renderers){const e=this.model.renderers,t=this.plot_model.renderers,s=this.model.names;this._computed_renderers=c.compute_renderers(e,t,s)}return this._computed_renderers}get ttmodels(){return null==this._ttmodels&&(this._ttmodels=this._compute_ttmodels()),this._ttmodels}_clear(){this._inspect(1/0,1/0);for(const[,e]of this.ttmodels)e.clear()}_move(e){if(!this.model.active)return;const{sx:t,sy:s}=e;this.plot_view.frame.bbox.contains(t,s)?this._inspect(t,s):this._clear()}_move_exit(){this._clear()}_inspect(e,t){let s;if(\"mouse\"==this.model.mode)s={type:\"point\",sx:e,sy:t};else{s={type:\"span\",direction:\"vline\"==this.model.mode?\"h\":\"v\",sx:e,sy:t}}for(const e of this.computed_renderers){e.get_selection_manager().inspect(this.plot_view.renderer_views.get(e),s)}null!=this.model.callback&&this._emit_callback(s)}_update([e,{geometry:t}]){if(!this.model.active)return;if(!(e instanceof r.GlyphRendererView))return;const{model:s}=e;if(\"ignore\"==this.model.muted_policy&&s instanceof r.GlyphRenderer&&s.muted)return;const o=this.ttmodels.get(s);if(null==o)return;const n=s.get_selection_manager();let i=n.inspectors.get(s);if(s instanceof r.GlyphRenderer&&(i=s.view.convert_selection_to_subset(i)),i.is_empty())return void o.clear();const l=n.source,{sx:c,sy:a}=t,_=e.coordinates.x_scale,p=e.coordinates.y_scale,h=_.invert(c),u=p.invert(a),y=e.glyph,f=[];for(const s of i.line_indices){let o,n,r=y._x[s+1],d=y._y[s+1],m=s;switch(this.model.line_policy){case\"interp\":[r,d]=y.get_interpolation_hit(s,t),o=_.compute(r),n=p.compute(d);break;case\"prev\":[[o,n],m]=g(y.sx,y.sy,s);break;case\"next\":[[o,n],m]=g(y.sx,y.sy,s+1);break;case\"nearest\":[[o,n],m]=w(s,t,c,a,y.sx,y.sy),r=y._x[m],d=y._y[m];break;default:[o,n]=[c,a]}const x={index:m,x:h,y:u,sx:c,sy:a,data_x:r,data_y:d,rx:o,ry:n,indices:i.line_indices,name:e.model.name};f.push([o,n,this._render_tooltips(l,m,x)])}for(const t of i.image_indices){const s={index:t.index,x:h,y:u,sx:c,sy:a,name:e.model.name},o=this._render_tooltips(l,t,s);f.push([c,a,o])}for(const o of i.indices)if(m.isEmpty(i.multiline_indices)){const t=null!=y._x?y._x[o]:void 0,n=null!=y._y?y._y[o]:void 0;let _,d,p;if(\"snap_to_data\"==this.model.point_policy){let e=y.get_anchor_point(this.model.anchor,o,[c,a]);null==e&&(e=y.get_anchor_point(\"center\",o,[c,a])),_=e.x,d=e.y}else[_,d]=[c,a];p=s instanceof r.GlyphRenderer?s.view.convert_indices_from_subset([o])[0]:o;const m={index:p,x:h,y:u,sx:c,sy:a,data_x:t,data_y:n,indices:i.indices,name:e.model.name};f.push([_,d,this._render_tooltips(l,p,m)])}else for(const n of i.multiline_indices[o.toString()]){let d,m,x,v=y._xs[o][n],b=y._ys[o][n],k=n;switch(this.model.line_policy){case\"interp\":[v,b]=y.get_interpolation_hit(o,n,t),d=_.compute(v),m=p.compute(b);break;case\"prev\":[[d,m],k]=g(y.sxs[o],y.sys[o],n);break;case\"next\":[[d,m],k]=g(y.sxs[o],y.sys[o],n+1);break;case\"nearest\":[[d,m],k]=w(n,t,c,a,y.sxs[o],y.sys[o]),v=y._xs[o][k],b=y._ys[o][k];break;default:throw new Error(\"should't have happened\")}x=s instanceof r.GlyphRenderer?s.view.convert_indices_from_subset([o])[0]:o;const A={index:x,x:h,y:u,sx:c,sy:a,data_x:v,data_y:b,segment_index:k,indices:i.multiline_indices,name:e.model.name};f.push([d,m,this._render_tooltips(l,x,A)])}if(0==f.length)o.clear();else{const{content:e}=o;d.empty(o.content);for(const[,,t]of f)e.appendChild(t);const[t,s]=f[f.length-1];o.setv({position:[t,s]},{check_eq:!1})}}_emit_callback(e){for(const t of this.computed_renderers){const s=this.plot_view.renderer_views.get(t),o=s.coordinates.x_scale.invert(e.sx),n=s.coordinates.y_scale.invert(e.sy),i=t.data_source.inspected,r=Object.assign({x:o,y:n},e);this.model.callback.execute(this.model,{index:i,geometry:r,renderer:t})}}_create_template(e){const t=d.div({style:{display:\"table\",borderSpacing:\"2px\"}});for(const[s]of e){const e=d.div({style:{display:\"table-row\"}});t.appendChild(e);const o=d.div({style:{display:\"table-cell\"},class:v.bk_tooltip_row_label},0!=s.length?s+\": \":\"\");e.appendChild(o);const n=d.span();n.dataset.value=\"\";const i=d.span({class:v.bk_tooltip_color_block},\" \");i.dataset.swatch=\"\",d.undisplay(i);const r=d.div({style:{display:\"table-cell\"},class:v.bk_tooltip_row_value},n,i);e.appendChild(r)}return t}_render_template(e,t,s,o,n){const i=e.cloneNode(!0),r=i.querySelectorAll(\"[data-value]\"),l=i.querySelectorAll(\"[data-swatch]\"),c=/\\$color(\\[.*\\])?:(\\w*)/;for(const[[,e],i]of u.enumerate(t)){const t=e.match(c);if(null!=t){const[,e=\"\",n]=t,c=s.get_column(n);if(null==c){r[i].textContent=n+\" unknown\";continue}const a=e.indexOf(\"hex\")>=0,_=e.indexOf(\"swatch\")>=0;let p=y.isNumber(o)?c[o]:null;if(null==p){r[i].textContent=\"(null)\";continue}a&&(p=h.color2hex(p)),r[i].textContent=p,_&&(l[i].style.backgroundColor=p,d.display(l[i]))}else{const t=_.replace_placeholders(e.replace(\"$~\",\"$data_\"),s,o,this.model.formatters,n);if(y.isString(t))r[i].textContent=t;else for(const e of t)r[i].appendChild(e)}}return i}_render_tooltips(e,t,s){const o=this.model.tooltips;if(y.isString(o)){const n=_.replace_placeholders({html:o},e,t,this.model.formatters,s);return d.div({},n)}return y.isFunction(o)?o(e,s):this._render_template(this._template_el,o,e,t,s)}}s.HoverToolView=b,b.__name__=\"HoverToolView\";class k extends n.InspectTool{constructor(e){super(e),this.tool_name=\"Hover\",this.icon=x.bk_tool_icon_hover}static init_HoverTool(){this.prototype.default_view=b,this.define({tooltips:[p.Any,[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[p.Any,{}],renderers:[p.Any,\"auto\"],names:[p.Array,[]],mode:[p.HoverMode,\"mouse\"],muted_policy:[p.MutedPolicy,\"show\"],point_policy:[p.PointPolicy,\"snap_to_data\"],line_policy:[p.LinePolicy,\"nearest\"],show_arrow:[p.Boolean,!0],anchor:[p.Anchor,\"center\"],attachment:[p.TooltipAttachment,\"horizontal\"],callback:[p.Any]}),this.register_alias(\"hover\",()=>new k)}}s.HoverTool=k,k.__name__=\"HoverTool\",k.init_HoverTool()},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(1).__importStar(t(18)),n=t(15),s=t(81),l=t(295),c=t(303);class r extends s.Model{constructor(t){super(t)}static init_ToolProxy(){this.define({tools:[i.Array,[]],active:[i.Boolean,!1],disabled:[i.Boolean,!1]})}get button_view(){return this.tools[0].button_view}get event_type(){return this.tools[0].event_type}get tooltip(){return this.tools[0].tooltip}get tool_name(){return this.tools[0].tool_name}get icon(){return this.tools[0].computed_icon}get computed_icon(){return this.icon}get toggleable(){const t=this.tools[0];return t instanceof l.InspectTool&&t.toggleable}initialize(){super.initialize(),this.do=new n.Signal0(this,\"do\")}connect_signals(){super.connect_signals(),this.connect(this.do,()=>this.doit()),this.connect(this.properties.active.change,()=>this.set_active());for(const t of this.tools)this.connect(t.properties.active.change,()=>{this.active=t.active})}doit(){for(const t of this.tools)t.do.emit()}set_active(){for(const t of this.tools)t.active=this.active}get menu(){const{menu:t}=this.tools[0];if(null==t)return null;const o=[];for(const[e,i]of c.enumerate(t))if(null==e)o.push(null);else{const t=()=>{var t,o;for(const e of this.tools)null===(o=null===(t=e.menu)||void 0===t?void 0:t[i])||void 0===o||o.handler()};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=r,r.__name__=\"ToolProxy\",r.init_ToolProxy()},\n", + " function _(o,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=o(1).__importStar(o(18)),e=o(9),n=o(13),r=o(305),l=o(379),c=o(272),h=o(212);class a extends r.ToolbarBase{constructor(o){super(o)}static init_ProxyToolbar(){this.define({toolbars:[i.Array,[]]})}initialize(){super.initialize(),this._merge_tools()}_merge_tools(){this._proxied_tools=[];const o={},t={},s={},i=[],r=[];for(const o of this.help)e.includes(r,o.redirect)||(i.push(o),r.push(o.redirect));this._proxied_tools.push(...i),this.help=i;for(const[o,t]of n.entries(this.gestures)){o in s||(s[o]={});for(const i of t.tools)i.type in s[o]||(s[o][i.type]=[]),s[o][i.type].push(i)}for(const t of this.inspectors)t.type in o||(o[t.type]=[]),o[t.type].push(t);for(const o of this.actions)o.type in t||(t[o.type]=[]),t[o.type].push(o);const c=(o,t=!1)=>{const s=new l.ToolProxy({tools:o,active:t});return this._proxied_tools.push(s),s};for(const o of n.keys(s)){const t=this.gestures[o];t.tools=[];for(const i of n.keys(s[o])){const e=s[o][i];if(e.length>0)if(\"multi\"==o)for(const o of e){const s=c([o]);t.tools.push(s),this.connect(s.properties.active.change,()=>this._active_change(s))}else{const o=c(e);t.tools.push(o),this.connect(o.properties.active.change,()=>this._active_change(o))}}}this.actions=[];for(const[o,s]of n.entries(t))if(\"CustomAction\"==o)for(const o of s)this.actions.push(c([o]));else s.length>0&&this.actions.push(c(s));this.inspectors=[];for(const t of n.values(o))t.length>0&&this.inspectors.push(c(t,!0));for(const[o,t]of n.entries(this.gestures))0!=t.tools.length&&(t.tools=e.sort_by(t.tools,o=>o.default_order),\"pinch\"!=o&&\"scroll\"!=o&&\"multi\"!=o&&(t.tools[0].active=!0))}}s.ProxyToolbar=a,a.__name__=\"ProxyToolbar\",a.init_ProxyToolbar();class _ extends c.LayoutDOMView{initialize(){this.model.toolbar.toolbar_location=this.model.toolbar_location,super.initialize()}get child_models(){return[this.model.toolbar]}_update_layout(){this.layout=new h.ContentBox(this.child_views[0].el);const{toolbar:o}=this.model;o.horizontal?this.layout.set_sizing({width_policy:\"fit\",min_width:100,height_policy:\"fixed\"}):this.layout.set_sizing({width_policy:\"fixed\",height_policy:\"fit\",min_height:100})}}s.ToolbarBoxView=_,_.__name__=\"ToolbarBoxView\";class p extends c.LayoutDOM{constructor(o){super(o)}static init_ToolbarBox(){this.prototype.default_view=_,this.define({toolbar:[i.Instance],toolbar_location:[i.Location,\"right\"]})}}s.ToolbarBox=p,p.__name__=\"ToolbarBox\",p.init_ToolbarBox()},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(5),i=e(78),d=e(115),c=e(72),l=e(382);t.index={},t.add_document_standalone=async function(e,n,s=[],a=!1){const u=new Map;async function r(o){let a;const r=e.roots().indexOf(o),f=s[r];null!=f?a=f:n.classList.contains(l.BOKEH_ROOT)?a=n:(a=c.div({class:l.BOKEH_ROOT}),n.appendChild(a));const v=await d.build_view(o,{parent:null});return v instanceof i.DOMView&&v.renderTo(a),u.set(o,v),t.index[o.id]=v,v}for(const n of e.roots())await r(n);return a&&(window.document.title=e.title()),e.on_change(e=>{e instanceof o.RootAddedEvent?r(e.model):e instanceof o.RootRemovedEvent?function(e){const n=u.get(e);null!=n&&(n.remove(),u.delete(e),delete t.index[e.id])}(e.model):a&&e instanceof o.TitleChangedEvent&&(window.document.title=e.title)}),[...u.values()]}},\n", + " function _(e,o,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(72),r=e(273);function l(e){let o=document.getElementById(e);if(null==o)throw new Error(`Error rendering Bokeh model: could not find #${e} HTML tag`);if(!document.body.contains(o))throw new Error(`Error rendering Bokeh model: element #${e} must be under `);if(\"SCRIPT\"==o.tagName){const e=t.div({class:n.BOKEH_ROOT});t.replaceWith(o,e),o=e}return o}n.BOKEH_ROOT=r.bk_root,n._resolve_element=function(e){const{elementid:o}=e;return null!=o?l(o):document.body},n._resolve_root_elements=function(e){const o=[];if(null!=e.root_ids&&null!=e.roots)for(const n of e.root_ids)o.push(l(e.roots[n]));return o}},\n", + " function _(n,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const e=n(384),s=n(19),c=n(381);t._get_ws_url=function(n,o){let t,e=\"ws:\";return\"https:\"==window.location.protocol&&(e=\"wss:\"),null!=o?(t=document.createElement(\"a\"),t.href=o):t=window.location,null!=n?\"/\"==n&&(n=\"\"):n=t.pathname.replace(/\\/+$/,\"\"),e+\"//\"+t.host+n+\"/ws\"};const r={};t.add_document_from_session=async function(n,o,t,a=[],i=!1){const l=window.location.search.substr(1);let d;try{d=await function(n,o,t){const s=e.parse_token(o).session_id;n in r||(r[n]={});const c=r[n];return s in c||(c[s]=e.pull_session(n,o,t)),c[s]}(n,o,l)}catch(n){const t=e.parse_token(o).session_id;throw s.logger.error(`Failed to load Bokeh session ${t}: ${n}`),n}return c.add_document_standalone(d.document,t,a,i)}},\n", + " function _(e,s,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(19),o=e(5),r=e(385),i=e(386),c=e(387);n.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",n.DEFAULT_TOKEN=\"eyJzZXNzaW9uX2lkIjogImRlZmF1bHQifQ\";let l=0;function _(e){let s=e.split(\".\")[0];const n=s.length%4;return 0!=n&&(s+=\"=\".repeat(4-n)),JSON.parse(atob(s.replace(/_/g,\"/\").replace(/-/g,\"+\")))}n.parse_token=_;class h{constructor(e=n.DEFAULT_SERVER_WEBSOCKET_URL,s=n.DEFAULT_TOKEN,o=null){this.url=e,this.token=s,this.args_string=o,this._number=l++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_replies=new Map,this._pending_messages=[],this._receiver=new i.Receiver,this.id=_(s).session_id.split(\".\")[0],t.logger.debug(`Creating websocket ${this._number} to '${this.url}' session '${this.id}'`)}async connect(){if(this.closed_permanently)throw new Error(\"Cannot connect() a closed ClientConnection\");if(null!=this.socket)throw new Error(\"Already connected\");this._current_handler=null,this._pending_replies.clear(),this._pending_messages=[];try{let e=\"\"+this.url;return null!=this.args_string&&this.args_string.length>0&&(e+=\"?\"+this.args_string),this.socket=new WebSocket(e,[\"bokeh\",this.token]),new Promise((e,s)=>{this.socket.binaryType=\"arraybuffer\",this.socket.onopen=()=>this._on_open(e,s),this.socket.onmessage=e=>this._on_message(e),this.socket.onclose=e=>this._on_close(e,s),this.socket.onerror=()=>this._on_error(s)})}catch(e){throw t.logger.error(\"websocket creation failed to url: \"+this.url),t.logger.error(\" - \"+e),e}}close(){this.closed_permanently||(t.logger.debug(\"Permanently closing websocket connection \"+this._number),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,\"close method called on ClientConnection \"+this._number),this.session._connection_closed())}_schedule_reconnect(e){setTimeout(()=>{this.closed_permanently||t.logger.info(`Websocket connection ${this._number} disconnected, will not attempt to reconnect`)},e)}send(e){if(null==this.socket)throw new Error(\"not connected so cannot send \"+e);e.send(this.socket)}async send_with_reply(e){const s=await new Promise((s,n)=>{this._pending_replies.set(e.msgid(),{resolve:s,reject:n}),this.send(e)});if(\"ERROR\"===s.msgtype())throw new Error(\"Error reply \"+s.content.text);return s}async _pull_doc_json(){const e=r.Message.create(\"PULL-DOC-REQ\",{}),s=await this.send_with_reply(e);if(!(\"doc\"in s.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return s.content.doc}async _repull_session_doc(e,s){var n;t.logger.debug(this.session?\"Repulling session\":\"Pulling session for first time\");try{const n=await this._pull_doc_json();if(null==this.session)if(this.closed_permanently)t.logger.debug(\"Got new document after connection was already closed\"),s(new Error(\"The connection has been closed\"));else{const s=o.Document.from_json(n),i=o.Document._compute_patch_since_json(n,s);if(i.events.length>0){t.logger.debug(`Sending ${i.events.length} changes from model construction back to server`);const e=r.Message.create(\"PATCH-DOC\",{},i);this.send(e)}this.session=new c.ClientSession(this,s,this.id);for(const e of this._pending_messages)this.session.handle(e);this._pending_messages=[],t.logger.debug(\"Created a new session from new pulled doc\"),e(this.session)}else this.session.document.replace_with_json(n),t.logger.debug(\"Updated existing session with new pulled doc\")}catch(e){null===(n=console.trace)||void 0===n||n.call(console,e),t.logger.error(\"Failed to repull session \"+e),s(e)}}_on_open(e,s){t.logger.info(`Websocket connection ${this._number} is now open`),this._current_handler=n=>{this._awaiting_ack_handler(n,e,s)}}_on_message(e){null==this._current_handler&&t.logger.error(\"Got a message with no current handler set\");try{this._receiver.consume(e.data)}catch(e){this._close_bad_protocol(e.toString())}const s=this._receiver.message;if(null!=s){const e=s.problem();null!=e&&this._close_bad_protocol(e),this._current_handler(s)}}_on_close(e,s){t.logger.info(`Lost websocket ${this._number} connection, ${e.code} (${e.reason})`),this.socket=null,this._pending_replies.forEach(e=>e.reject(\"Disconnected\")),this._pending_replies.clear(),this.closed_permanently||this._schedule_reconnect(2e3),s(new Error(`Lost websocket connection, ${e.code} (${e.reason})`))}_on_error(e){t.logger.debug(\"Websocket error on socket \"+this._number);const s=\"Could not open websocket\";t.logger.error(\"Failed to connect to Bokeh server: \"+s),e(new Error(s))}_close_bad_protocol(e){t.logger.error(\"Closing connection: \"+e),null!=this.socket&&this.socket.close(1002,e)}_awaiting_ack_handler(e,s,n){\"ACK\"===e.msgtype()?(this._current_handler=e=>this._steady_state_handler(e),this._repull_session_doc(s,n)):this._close_bad_protocol(\"First message was not an ACK\")}_steady_state_handler(e){const s=e.reqid(),n=this._pending_replies.get(s);n?(this._pending_replies.delete(s),n.resolve(e)):this.session?this.session.handle(e):\"PATCH-DOC\"!=e.msgtype()&&this._pending_messages.push(e)}}n.ClientConnection=h,h.__name__=\"ClientConnection\",n.pull_session=function(e,s,n){return new h(e,s,n).connect()}},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const r=e(29);class n{constructor(e,s,t){this.header=e,this.metadata=s,this.content=t,this.buffers=new Map}static assemble(e,s,t){const r=JSON.parse(e),i=JSON.parse(s),a=JSON.parse(t);return new n(r,i,a)}assemble_buffer(e,s){const t=null!=this.header.num_buffers?this.header.num_buffers:0;if(t<=this.buffers.size)throw new Error(\"too many buffers received, expecting \"+t);const{id:r}=JSON.parse(e);this.buffers.set(r,s)}static create(e,s,t={}){const r=n.create_header(e);return new n(r,s,t)}static create_header(e){return{msgid:r.uniqueId(),msgtype:e}}complete(){return null!=this.header&&null!=this.metadata&&null!=this.content&&(null==this.header.num_buffers||this.buffers.size==this.header.num_buffers)}send(e){if((null!=this.header.num_buffers?this.header.num_buffers:0)>0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");const s=JSON.stringify(this.header),t=JSON.stringify(this.metadata),r=JSON.stringify(this.content);e.send(s),e.send(t),e.send(r)}msgid(){return this.header.msgid}msgtype(){return this.header.msgtype}reqid(){return this.header.reqid}problem(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"}}t.Message=n,n.__name__=\"Message\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const _=e(385),r=e(8);class i{constructor(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}consume(e){this._current_consumer(e)}_HEADER(e){this._assume_text(e),this.message=null,this._partial=null,this._fragments=[e],this._buf_header=null,this._current_consumer=this._METADATA}_METADATA(e){this._assume_text(e),this._fragments.push(e),this._current_consumer=this._CONTENT}_CONTENT(e){this._assume_text(e),this._fragments.push(e);const[t,s,r]=this._fragments.slice(0,3);this._partial=_.Message.assemble(t,s,r),this._check_complete()}_BUFFER_HEADER(e){this._assume_text(e),this._buf_header=e,this._current_consumer=this._BUFFER_PAYLOAD}_BUFFER_PAYLOAD(e){this._assume_binary(e),this._partial.assemble_buffer(this._buf_header,e),this._check_complete()}_assume_text(e){if(!r.isString(e))throw new Error(\"Expected text fragment but received binary fragment\")}_assume_binary(e){if(!(e instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")}_check_complete(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER}}s.Receiver=i,i.__name__=\"Receiver\"},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(5),s=e(385),c=e(19);class i{constructor(e,t,n){this._connection=e,this.document=t,this.id=n,this._document_listener=e=>{this._document_changed(e)},this.document.on_change(this._document_listener,!0)}handle(e){const t=e.msgtype();\"PATCH-DOC\"===t?this._handle_patch(e):\"OK\"===t?this._handle_ok(e):\"ERROR\"===t?this._handle_error(e):c.logger.debug(\"Doing nothing with message \"+e.msgtype())}close(){this._connection.close()}_connection_closed(){this.document.remove_on_change(this._document_listener)}async request_server_info(){const e=s.Message.create(\"SERVER-INFO-REQ\",{});return(await this._connection.send_with_reply(e)).content}async force_roundtrip(){await this.request_server_info()}_document_changed(e){if(e.setter_id===this.id)return;const t=e instanceof o.DocumentEventBatch?e.events:[e],n=this.document.create_json_patch(t),c=s.Message.create(\"PATCH-DOC\",{},n);this._connection.send(c)}_handle_patch(e){this.document.apply_json_patch(e.content,e.buffers,this.id)}_handle_ok(e){c.logger.trace(\"Unhandled OK reply to \"+e.reqid())}_handle_error(e){c.logger.error(`Unhandled ERROR reply to ${e.reqid()}: ${e.content.text}`)}}n.ClientSession=i,i.__name__=\"ClientSession\"},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1);var r=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var o,t=e[Symbol.asyncIterator];return t?t.call(e):(e=\"function\"==typeof __values?__values(e):e[Symbol.iterator](),o={},n(\"next\"),n(\"throw\"),n(\"return\"),o[Symbol.asyncIterator]=function(){return this},o);function n(t){o[t]=e[t]&&function(o){return new Promise((function(n,r){(function(e,o,t,n){Promise.resolve(n).then((function(o){e({value:o,done:t})}),o)})(n,r,(o=e[t](o)).done,o.value)}))}}};const s=e(5),i=e(386),l=e(19),a=e(72),c=e(13),u=e(381),f=e(382),g=n.__importDefault(e(73)),m=n.__importDefault(e(311)),d=n.__importDefault(e(389));function p(e,o){o.buffers.length>0?e.consume(o.buffers[0].buffer):e.consume(o.content.data);const t=e.message;null!=t&&this.apply_json_patch(t.content,t.buffers)}function _(e,o){if(\"undefined\"!=typeof Jupyter&&null!=Jupyter.notebook.kernel){l.logger.info(\"Registering Jupyter comms for target \"+e);const t=Jupyter.notebook.kernel.comm_manager;try{t.register_target(e,t=>{l.logger.info(\"Registering Jupyter comms for target \"+e);const n=new i.Receiver;t.on_msg(p.bind(o,n))})}catch(e){l.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(o.roots()[0].id in t.kernels){l.logger.info(\"Registering JupyterLab comms for target \"+e);const n=t.kernels[o.roots()[0].id];try{n.registerCommTarget(e,t=>{l.logger.info(\"Registering JupyterLab comms for target \"+e);const n=new i.Receiver;t.onMsg=p.bind(o,n)})}catch(e){l.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(\"undefined\"!=typeof google&&null!=google.colab.kernel){l.logger.info(\"Registering Google Colab comms for target \"+e);const t=google.colab.kernel.comms;try{t.registerTarget(e,async t=>{var n,s,a;l.logger.info(\"Registering Google Colab comms for target \"+e);const c=new i.Receiver;try{for(var u,f=r(t.messages);!(u=await f.next()).done;){const e=u.value,t={data:e.data},n=[];for(const o of null!==(a=e.buffers)&&void 0!==a?a:[])n.push(new DataView(o));const r={content:t,buffers:n};p.bind(o)(c,r)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(s=f.return)&&await s.call(f)}finally{if(n)throw n.error}}})}catch(e){l.logger.warn(`Google Colab comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function. If running JupyterLab ensure the latest @bokeh/jupyter_bokeh extension is installed. In an exported notebook this warning is expected.\")}a.stylesheet.append(g.default),a.stylesheet.append(m.default),a.stylesheet.append(d.default),t.kernels={},t.embed_items_notebook=function(e,o){if(1!=c.size(e))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");const t=s.Document.from_json(c.values(e)[0]);for(const e of o){null!=e.notebook_comms_target&&_(e.notebook_comms_target,t);const o=f._resolve_element(e),n=f._resolve_root_elements(e);u.add_document_standalone(t,o,n)}}},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});o.default=\"\\n/* notebook specific tweaks so no black outline and matching padding\\n/* can't be wrapped inside bk-root. here are the offending jupyter lines:\\n/* https://github.com/jupyter/notebook/blob/master/notebook/static/notebook/less/renderedhtml.less#L59-L76 */\\n.rendered_html .bk-root .bk-tooltip table,\\n.rendered_html .bk-root .bk-tooltip tr,\\n.rendered_html .bk-root .bk-tooltip th,\\n.rendered_html .bk-root .bk-tooltip td {\\n border: none;\\n padding: 1px;\\n}\\n\"},\n", + " function _(e,t,_){Object.defineProperty(_,\"__esModule\",{value:!0});const o=e(1);o.__exportStar(e(385),_),o.__exportStar(e(386),_)},\n", + " function _(e,t,n){function s(){const e=document.getElementsByTagName(\"body\")[0],t=document.getElementsByClassName(\"bokeh-test-div\");1==t.length&&(e.removeChild(t[0]),delete t[0]);const n=document.createElement(\"div\");n.classList.add(\"bokeh-test-div\"),n.style.display=\"none\",e.insertBefore(n,e.firstChild)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.results={},n.init=function(){s()},n.record0=function(e,t){n.results[e]=t},n.record=function(e,t){n.results[e]=t,s()},n.count=function(e){null==n.results[e]&&(n.results[e]=0),n.results[e]+=1,s()}},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0}),o.safely=function(e,t=!1){try{return e()}catch(e){if(function(e){const t=document.createElement(\"div\");t.style.backgroundColor=\"#f2dede\",t.style.border=\"1px solid #a94442\",t.style.borderRadius=\"4px\",t.style.display=\"inline-block\",t.style.fontFamily=\"sans-serif\",t.style.marginTop=\"5px\",t.style.minWidth=\"200px\",t.style.padding=\"5px 5px 5px 10px\",t.classList.add(\"bokeh-error-box-into-flames\");const o=document.createElement(\"span\");o.style.backgroundColor=\"#a94442\",o.style.borderRadius=\"0px 4px 0px 0px\",o.style.color=\"white\",o.style.cursor=\"pointer\",o.style.cssFloat=\"right\",o.style.fontSize=\"0.8em\",o.style.margin=\"-6px -6px 0px 0px\",o.style.padding=\"2px 5px 4px 5px\",o.title=\"close\",o.setAttribute(\"aria-label\",\"close\"),o.appendChild(document.createTextNode(\"x\")),o.addEventListener(\"click\",()=>r.removeChild(t));const n=document.createElement(\"h3\");n.style.color=\"#a94442\",n.style.margin=\"8px 0px 0px 0px\",n.style.padding=\"0px\",n.appendChild(document.createTextNode(\"Bokeh Error\"));const l=document.createElement(\"pre\");l.style.whiteSpace=\"unset\",l.style.overflowX=\"auto\";const s=e instanceof Error?e.message:e;l.appendChild(document.createTextNode(s)),t.appendChild(o),t.appendChild(n),t.appendChild(l);const r=document.getElementsByTagName(\"body\")[0];r.insertBefore(t,r.firstChild)}(e),t)return;throw e}}},\n", + " ], 0, {\"main\":0,\"tslib\":1,\"index\":2,\"version\":3,\"embed/index\":4,\"document/index\":5,\"document/document\":6,\"base\":7,\"core/util/types\":8,\"core/util/array\":9,\"core/util/math\":10,\"core/util/assert\":11,\"core/util/arrayable\":12,\"core/util/object\":13,\"core/has_props\":14,\"core/signaling\":15,\"core/util/callback\":16,\"core/util/refs\":17,\"core/properties\":18,\"core/logging\":19,\"core/enums\":20,\"core/kinds\":21,\"core/util/color\":22,\"core/util/svg_colors\":23,\"core/types\":24,\"core/util/eq\":25,\"core/util/data_structures\":26,\"core/settings\":27,\"core/property_mixins\":28,\"core/util/string\":29,\"core/util/ndarray\":30,\"core/util/serialization\":31,\"core/util/compat\":32,\"core/util/pretty\":33,\"models/index\":34,\"models/annotations/index\":35,\"models/annotations/annotation\":36,\"core/util/projections\":37,\"models/renderers/renderer\":70,\"core/view\":71,\"core/dom\":72,\"styles/root.css\":73,\"core/visuals\":74,\"core/util/svg\":75,\"core/util/affine\":76,\"models/canvas/canvas\":77,\"core/dom_view\":78,\"core/util/bbox\":79,\"core/util/canvas\":80,\"model\":81,\"models/canvas/coordinates\":82,\"models/annotations/arrow\":83,\"models/annotations/arrow_head\":84,\"models/sources/column_data_source\":85,\"models/sources/columnar_data_source\":86,\"models/sources/data_source\":87,\"models/selections/selection\":88,\"core/selection_manager\":89,\"models/renderers/glyph_renderer\":90,\"models/renderers/data_renderer\":91,\"models/glyphs/line\":92,\"models/glyphs/xy_glyph\":93,\"models/glyphs/glyph\":94,\"core/util/spatial\":95,\"models/ranges/factor_range\":98,\"models/ranges/range\":99,\"models/glyphs/utils\":100,\"core/hittest\":101,\"models/glyphs/webgl/line\":102,\"models/glyphs/webgl/utils/index\":103,\"models/glyphs/webgl/utils/program\":104,\"models/glyphs/webgl/utils/buffer\":105,\"models/glyphs/webgl/utils/texture\":106,\"models/glyphs/webgl/base\":107,\"models/glyphs/webgl/line.vert\":108,\"models/glyphs/webgl/line.frag\":109,\"models/glyphs/patch\":110,\"models/glyphs/harea\":111,\"models/glyphs/area\":112,\"models/glyphs/varea\":113,\"models/sources/cds_view\":114,\"core/build_views\":115,\"models/renderers/graph_renderer\":116,\"models/graphs/graph_hit_test_policy\":117,\"models/selections/interaction_policy\":118,\"core/util/typed_array\":119,\"core/util/set\":120,\"document/events\":121,\"models/annotations/band\":122,\"models/annotations/upper_lower\":123,\"models/annotations/box_annotation\":124,\"models/annotations/color_bar\":125,\"models/tickers/basic_ticker\":126,\"models/tickers/adaptive_ticker\":127,\"models/tickers/continuous_ticker\":128,\"models/tickers/ticker\":129,\"models/formatters/basic_tick_formatter\":130,\"models/formatters/tick_formatter\":131,\"models/mappers/index\":132,\"models/mappers/categorical_color_mapper\":133,\"models/mappers/categorical_mapper\":134,\"models/mappers/color_mapper\":135,\"models/mappers/mapper\":136,\"models/transforms/transform\":137,\"models/mappers/categorical_marker_mapper\":138,\"models/mappers/categorical_pattern_mapper\":139,\"models/mappers/continuous_color_mapper\":140,\"models/mappers/linear_color_mapper\":141,\"models/mappers/log_color_mapper\":142,\"models/mappers/scanning_color_mapper\":143,\"models/mappers/eqhist_color_mapper\":144,\"models/scales/linear_scale\":145,\"models/scales/continuous_scale\":146,\"models/scales/scale\":147,\"models/transforms/index\":148,\"models/transforms/customjs_transform\":149,\"models/transforms/dodge\":150,\"models/transforms/range_transform\":151,\"models/transforms/interpolator\":152,\"models/transforms/jitter\":153,\"models/transforms/linear_interpolator\":154,\"models/transforms/step_interpolator\":155,\"models/scales/linear_interpolation_scale\":156,\"models/scales/log_scale\":157,\"models/ranges/range1d\":158,\"core/util/text\":159,\"models/annotations/label\":160,\"models/annotations/text_annotation\":161,\"models/annotations/label_set\":162,\"models/annotations/legend\":163,\"models/annotations/legend_item\":164,\"core/vectorization\":165,\"models/annotations/poly_annotation\":166,\"models/annotations/slope\":167,\"models/annotations/span\":168,\"models/annotations/title\":169,\"models/annotations/toolbar_panel\":170,\"models/annotations/tooltip\":171,\"styles/tooltips\":172,\"styles/mixins\":173,\"styles/tooltips.css\":174,\"models/annotations/whisker\":175,\"models/axes/index\":176,\"models/axes/axis\":177,\"models/renderers/guide_renderer\":178,\"models/axes/categorical_axis\":179,\"models/tickers/categorical_ticker\":180,\"models/formatters/categorical_tick_formatter\":181,\"models/axes/continuous_axis\":182,\"models/axes/datetime_axis\":183,\"models/axes/linear_axis\":184,\"models/formatters/datetime_tick_formatter\":185,\"core/util/templating\":187,\"models/tickers/datetime_ticker\":190,\"models/tickers/composite_ticker\":191,\"models/tickers/days_ticker\":192,\"models/tickers/single_interval_ticker\":193,\"models/tickers/util\":194,\"models/tickers/months_ticker\":195,\"models/tickers/years_ticker\":196,\"models/axes/log_axis\":197,\"models/formatters/log_tick_formatter\":198,\"models/tickers/log_ticker\":199,\"models/axes/mercator_axis\":200,\"models/formatters/mercator_tick_formatter\":201,\"models/tickers/mercator_ticker\":202,\"models/callbacks/index\":203,\"models/callbacks/customjs\":204,\"models/callbacks/callback\":205,\"models/callbacks/open_url\":206,\"models/canvas/index\":207,\"models/canvas/cartesian_frame\":208,\"models/scales/categorical_scale\":209,\"models/ranges/data_range1d\":210,\"models/ranges/data_range\":211,\"core/layout/index\":212,\"core/layout/types\":213,\"core/layout/layoutable\":214,\"core/layout/alignments\":215,\"core/layout/grid\":216,\"core/layout/html\":217,\"models/expressions/index\":218,\"models/expressions/expression\":219,\"models/expressions/stack\":220,\"models/expressions/cumsum\":221,\"models/filters/index\":222,\"models/filters/boolean_filter\":223,\"models/filters/filter\":224,\"models/filters/customjs_filter\":225,\"models/filters/group_filter\":226,\"models/filters/index_filter\":227,\"models/formatters/index\":228,\"models/formatters/func_tick_formatter\":229,\"models/formatters/numeral_tick_formatter\":230,\"models/formatters/printf_tick_formatter\":231,\"models/glyphs/index\":232,\"models/glyphs/annular_wedge\":233,\"models/glyphs/annulus\":234,\"models/glyphs/arc\":235,\"models/glyphs/bezier\":236,\"models/glyphs/circle\":237,\"models/glyphs/webgl/markers\":238,\"models/glyphs/webgl/markers.vert\":239,\"models/glyphs/webgl/markers.frag\":240,\"models/glyphs/center_rotatable\":241,\"models/glyphs/ellipse\":242,\"models/glyphs/ellipse_oval\":243,\"models/glyphs/hbar\":244,\"models/glyphs/box\":245,\"models/glyphs/hex_tile\":246,\"models/glyphs/image\":247,\"models/glyphs/image_base\":248,\"models/glyphs/image_rgba\":249,\"models/glyphs/image_url\":250,\"core/util/image\":251,\"models/glyphs/multi_line\":252,\"models/glyphs/multi_polygons\":253,\"models/glyphs/oval\":254,\"models/glyphs/patches\":255,\"models/glyphs/quad\":256,\"models/glyphs/quadratic\":257,\"models/glyphs/ray\":258,\"models/glyphs/rect\":259,\"models/glyphs/segment\":260,\"models/glyphs/step\":261,\"models/glyphs/text\":262,\"models/glyphs/vbar\":263,\"models/glyphs/wedge\":264,\"models/graphs/index\":265,\"models/graphs/layout_provider\":266,\"models/graphs/static_layout_provider\":267,\"models/grids/index\":268,\"models/grids/grid\":269,\"models/layouts/index\":270,\"models/layouts/box\":271,\"models/layouts/layout_dom\":272,\"styles/root\":273,\"models/layouts/column\":274,\"models/layouts/grid_box\":275,\"models/layouts/html_box\":276,\"models/layouts/row\":277,\"models/layouts/spacer\":278,\"models/layouts/tabs\":279,\"styles/tabs\":280,\"styles/buttons\":281,\"styles/menus\":282,\"styles/buttons.css\":283,\"styles/menus.css\":284,\"styles/tabs.css\":285,\"models/layouts/widget_box\":286,\"models/markers/index\":287,\"models/markers/defs\":288,\"models/markers/marker\":289,\"models/markers/scatter\":290,\"models/plots/index\":291,\"models/plots/gmap_plot\":292,\"models/plots/plot\":293,\"models/tools/toolbar\":294,\"models/tools/inspectors/inspect_tool\":295,\"models/tools/button_tool\":296,\"models/tools/tool\":298,\"styles/toolbar\":299,\"styles/toolbar.css\":300,\"styles/icons.css\":301,\"core/util/menus\":302,\"core/util/iterator\":303,\"models/tools/on_off_button\":304,\"models/tools/toolbar_base\":305,\"models/tools/gestures/gesture_tool\":306,\"models/tools/actions/action_tool\":307,\"models/tools/actions/help_tool\":308,\"styles/icons\":309,\"styles/logo\":310,\"styles/logo.css\":311,\"models/plots/plot_canvas\":312,\"core/bokeh_events\":313,\"core/ui_events\":314,\"core/util/wheel\":315,\"core/util/throttle\":316,\"core/layout/border\":317,\"core/layout/side_panel\":318,\"models/plots/gmap_plot_canvas\":319,\"models/ranges/index\":320,\"models/renderers/index\":321,\"models/scales/index\":322,\"models/selections/index\":323,\"models/sources/index\":324,\"models/sources/server_sent_data_source\":325,\"models/sources/web_data_source\":326,\"models/sources/ajax_data_source\":327,\"models/sources/geojson_data_source\":328,\"models/tickers/index\":329,\"models/tickers/fixed_ticker\":330,\"models/tiles/index\":331,\"models/tiles/bbox_tile_source\":332,\"models/tiles/mercator_tile_source\":333,\"models/tiles/tile_source\":334,\"models/tiles/tile_utils\":335,\"models/tiles/quadkey_tile_source\":336,\"models/tiles/tile_renderer\":337,\"models/tiles/wmts_tile_source\":338,\"styles/tiles\":339,\"styles/tiles.css\":340,\"models/tiles/tms_tile_source\":341,\"models/textures/index\":342,\"models/textures/canvas_texture\":343,\"models/textures/texture\":344,\"models/textures/image_url_texture\":345,\"models/tools/index\":346,\"models/tools/actions/custom_action\":347,\"models/tools/actions/redo_tool\":348,\"models/tools/actions/reset_tool\":349,\"models/tools/actions/save_tool\":350,\"models/tools/actions/undo_tool\":351,\"models/tools/actions/zoom_in_tool\":352,\"models/tools/actions/zoom_base_tool\":353,\"core/util/zoom\":354,\"models/tools/actions/zoom_out_tool\":355,\"models/tools/edit/edit_tool\":356,\"models/tools/edit/box_edit_tool\":357,\"models/tools/edit/freehand_draw_tool\":358,\"models/tools/edit/point_draw_tool\":359,\"models/tools/edit/poly_draw_tool\":360,\"models/tools/edit/poly_tool\":361,\"models/tools/edit/poly_edit_tool\":362,\"models/tools/gestures/box_select_tool\":363,\"models/tools/gestures/select_tool\":364,\"models/tools/util\":365,\"models/tools/gestures/box_zoom_tool\":366,\"models/tools/gestures/lasso_select_tool\":367,\"models/tools/gestures/poly_select_tool\":368,\"models/tools/edit/line_edit_tool\":369,\"models/tools/edit/line_tool\":370,\"models/tools/gestures/pan_tool\":371,\"models/tools/gestures/range_tool\":372,\"models/tools/gestures/tap_tool\":373,\"models/tools/gestures/wheel_pan_tool\":374,\"models/tools/gestures/wheel_zoom_tool\":375,\"models/tools/inspectors/crosshair_tool\":376,\"models/tools/inspectors/customjs_hover\":377,\"models/tools/inspectors/hover_tool\":378,\"models/tools/tool_proxy\":379,\"models/tools/toolbar_box\":380,\"embed/standalone\":381,\"embed/dom\":382,\"embed/server\":383,\"client/connection\":384,\"protocol/message\":385,\"protocol/receiver\":386,\"client/session\":387,\"embed/notebook\":388,\"styles/notebook.css\":389,\"protocol/index\":390,\"testing\":391,\"safely\":392}, {});\n", + " })\n", + "\n", + "\n", + " /* END bokeh.min.js */\n", + " },\n", + " \n", + " function(Bokeh) {\n", + " /* BEGIN bokeh-widgets.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " factory(root[\"Bokeh\"], \"2.2.3\");\n", + " })(this, function(Bokeh, version) {\n", + " var define;\n", + " return (function(modules, entry, aliases, externals) {\n", + " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", + " if (bokeh != null) {\n", + " return bokeh.register_plugin(modules, entry, aliases);\n", + " } else {\n", + " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", + " }\n", + " })\n", + " ({\n", + " 402: function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(1).__importStar(e(403));o.Widgets=r;e(7).register_models(r)},\n", + " 403: function _(r,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var a=r(404);t.AbstractButton=a.AbstractButton;var o=r(407);t.AbstractIcon=o.AbstractIcon;var u=r(408);t.AutocompleteInput=u.AutocompleteInput;var n=r(413);t.Button=n.Button;var i=r(414);t.CheckboxButtonGroup=i.CheckboxButtonGroup;var v=r(416);t.CheckboxGroup=v.CheckboxGroup;var p=r(418);t.ColorPicker=p.ColorPicker;var c=r(419);t.DatePicker=c.DatePicker;var l=r(422);t.DateRangeSlider=l.DateRangeSlider;var d=r(428);t.DateSlider=d.DateSlider;var I=r(429);t.Div=I.Div;var g=r(433);t.Dropdown=g.Dropdown;var S=r(434);t.FileInput=S.FileInput;var P=r(410);t.InputWidget=P.InputWidget;var k=r(430);t.Markup=k.Markup;var x=r(435);t.MultiSelect=x.MultiSelect;var D=r(436);t.Paragraph=D.Paragraph;var b=r(437);t.PasswordInput=b.PasswordInput;var s=r(438);t.MultiChoice=s.MultiChoice;var h=r(441);t.NumericInput=h.NumericInput;var A=r(444);t.PreText=A.PreText;var B=r(445);t.RadioButtonGroup=B.RadioButtonGroup;var C=r(446);t.RadioGroup=C.RadioGroup;var G=r(447);t.RangeSlider=G.RangeSlider;var R=r(448);t.Select=R.Select;var T=r(449);t.Slider=T.Slider;var M=r(450);t.Spinner=M.Spinner;var m=r(409);t.TextInput=m.TextInput;var w=r(451);t.TextAreaInput=w.TextAreaInput;var W=r(452);t.Toggle=W.Toggle;var _=r(472);t.Widget=_.Widget},\n", + " 404: function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=t(1),s=i.__importStar(t(18)),o=t(72),l=t(115),r=t(405),_=t(281),c=i.__importDefault(t(283));class u extends r.ControlView{*controls(){yield this.button_el}async lazy_initialize(){await super.lazy_initialize();const{icon:t}=this.model;null!=t&&(this.icon_view=await l.build_view(t,{parent:this}))}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render())}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}styles(){return[...super.styles(),c.default]}_render_button(...t){return o.button({type:\"button\",disabled:this.model.disabled,class:[_.bk_btn,_.bk_btn_type(this.model.button_type)]},...t)}render(){super.render(),this.button_el=this._render_button(this.model.label),this.button_el.addEventListener(\"click\",()=>this.click()),null!=this.icon_view&&(o.prepend(this.button_el,this.icon_view.el,o.nbsp()),this.icon_view.render()),this.group_el=o.div({class:_.bk_btn_group},this.button_el),this.el.appendChild(this.group_el)}click(){}}n.AbstractButtonView=u,u.__name__=\"AbstractButtonView\";class a extends r.Control{constructor(t){super(t)}static init_AbstractButton(){this.define({label:[s.String,\"Button\"],icon:[s.Instance],button_type:[s.ButtonType,\"default\"]})}}n.AbstractButton=a,a.__name__=\"AbstractButton\",a.init_AbstractButton()},\n", + " 405: function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(472),n=e(72);class i extends s.WidgetView{connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,()=>{for(const e of this.controls())n.toggle_attribute(e,\"disabled\",this.model.disabled)})}}o.ControlView=i,i.__name__=\"ControlView\";class l extends s.Widget{constructor(e){super(e)}}o.Control=l,l.__name__=\"Control\"},\n", + " 472: function _(i,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=i(1),n=i(276),r=o.__importStar(i(18));class _ extends n.HTMLBoxView{_width_policy(){return\"horizontal\"==this.model.orientation?super._width_policy():\"fixed\"}_height_policy(){return\"horizontal\"==this.model.orientation?\"fixed\":super._height_policy()}box_sizing(){const i=super.box_sizing();return\"horizontal\"==this.model.orientation?null==i.width&&(i.width=this.model.default_size):null==i.height&&(i.height=this.model.default_size),i}}t.WidgetView=_,_.__name__=\"WidgetView\";class s extends n.HTMLBox{constructor(i){super(i)}static init_Widget(){this.define({orientation:[r.Orientation,\"horizontal\"],default_size:[r.Number,300]}),this.override({margin:[5,5,5,5]})}}t.Widget=s,s.__name__=\"Widget\",s.init_Widget()},\n", + " 407: function _(e,t,c){Object.defineProperty(c,\"__esModule\",{value:!0});const s=e(81),n=e(78);class o extends n.DOMView{}c.AbstractIconView=o,o.__name__=\"AbstractIconView\";class _ extends s.Model{constructor(e){super(e)}}c.AbstractIcon=_,_.__name__=\"AbstractIcon\"},\n", + " 408: function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=e(1),s=e(409),h=e(72),_=i.__importStar(e(18)),o=e(10),u=e(173),r=e(282),c=i.__importDefault(e(284));class l extends s.TextInputView{constructor(){super(...arguments),this._open=!1,this._last_value=\"\",this._hover_index=0}styles(){return[...super.styles(),c.default]}render(){super.render(),this.input_el.addEventListener(\"keydown\",e=>this._keydown(e)),this.input_el.addEventListener(\"keyup\",e=>this._keyup(e)),this.menu=h.div({class:[r.bk_menu,u.bk_below]}),this.menu.addEventListener(\"click\",e=>this._menu_click(e)),this.menu.addEventListener(\"mouseover\",e=>this._menu_hover(e)),this.el.appendChild(this.menu),h.undisplay(this.menu)}change_input(){this._open&&this.menu.children.length>0&&(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu())}_update_completions(e){h.empty(this.menu);for(const t of e){const e=h.div({},t);this.menu.appendChild(e)}e.length>0&&this.menu.children[0].classList.add(u.bk_active)}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,h.display(this.menu);const e=t=>{const{target:n}=t;n instanceof HTMLElement&&!this.el.contains(n)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,h.undisplay(this.menu))}_menu_click(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())}_menu_hover(e){if(e.target!=e.currentTarget&&e.target instanceof Element){let t=0;for(t=0;t0&&(this.menu.children[this._hover_index].classList.remove(u.bk_active),this._hover_index=o.clamp(e,0,t-1),this.menu.children[this._hover_index].classList.add(u.bk_active))}_keydown(e){}_keyup(e){switch(e.keyCode){case h.Keys.Enter:this.change_input();break;case h.Keys.Esc:this._hide_menu();break;case h.Keys.Up:this._bump_hover(this._hover_index-1);break;case h.Keys.Down:this._bump_hover(this._hover_index+1);break;default:{const e=this.input_el.value;if(e.lengthe:e=>e.toLowerCase();for(const n of this.model.completions)i(n).startsWith(i(e))&&t.push(n);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}}}}n.AutocompleteInputView=l,l.__name__=\"AutocompleteInputView\";class a extends s.TextInput{constructor(e){super(e)}static init_AutocompleteInput(){this.prototype.default_view=l,this.define({completions:[_.Array,[]],min_characters:[_.Int,2],case_sensitive:[_.Boolean,!0]})}}n.AutocompleteInput=a,a.__name__=\"AutocompleteInput\",a.init_AutocompleteInput()},\n", + " 409: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(410),l=e(72),p=n.__importStar(e(18)),u=e(412);class a extends s.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,()=>this.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.value.change,()=>this.input_el.value=this.model.value),this.connect(this.model.properties.value_input.change,()=>this.input_el.value=this.model.value_input),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled),this.connect(this.model.properties.placeholder.change,()=>this.input_el.placeholder=this.model.placeholder)}render(){super.render(),this.input_el=l.input({type:\"text\",class:u.bk_input,name:this.model.name,value:this.model.value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.input_el.addEventListener(\"input\",()=>this.change_input_oninput()),this.group_el.appendChild(this.input_el)}change_input(){this.model.value=this.input_el.value,super.change_input()}change_input_oninput(){this.model.value_input=this.input_el.value,super.change_input()}}i.TextInputView=a,a.__name__=\"TextInputView\";class h extends s.InputWidget{constructor(e){super(e)}static init_TextInput(){this.prototype.default_view=a,this.define({value:[p.String,\"\"],value_input:[p.String,\"\"],placeholder:[p.String,\"\"]})}}i.TextInput=h,h.__name__=\"TextInput\",h.init_TextInput()},\n", + " 410: function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),l=t(405),s=t(72),_=n.__importStar(t(18)),o=n.__importDefault(t(411)),r=t(412);class p extends l.ControlView{*controls(){yield this.input_el}connect_signals(){super.connect_signals(),this.connect(this.model.properties.title.change,()=>{this.label_el.textContent=this.model.title})}styles(){return[...super.styles(),o.default]}render(){super.render();const{title:t}=this.model;this.label_el=s.label({style:{display:0==t.length?\"none\":\"\"}},t),this.group_el=s.div({class:r.bk_input_group},this.label_el),this.el.appendChild(this.group_el)}change_input(){}}i.InputWidgetView=p,p.__name__=\"InputWidgetView\";class u extends l.Control{constructor(t){super(t)}static init_InputWidget(){this.define({title:[_.String,\"\"]})}}i.InputWidget=u,u.__name__=\"InputWidget\",u.init_InputWidget()},\n", + " 411: function _(n,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root .bk-input {\\n display: inline-block;\\n width: 100%;\\n flex-grow: 1;\\n -webkit-flex-grow: 1;\\n min-height: 31px;\\n padding: 0 12px;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n}\\n.bk-root .bk-input:focus {\\n border-color: #66afe9;\\n outline: 0;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\\n}\\n.bk-root .bk-input::placeholder,\\n.bk-root .bk-input:-ms-input-placeholder,\\n.bk-root .bk-input::-moz-placeholder,\\n.bk-root .bk-input::-webkit-input-placeholder {\\n color: #999;\\n opacity: 1;\\n}\\n.bk-root .bk-input[disabled] {\\n cursor: not-allowed;\\n background-color: #eee;\\n opacity: 1;\\n}\\n.bk-root select:not([multiple]).bk-input,\\n.bk-root select:not([size]).bk-input {\\n height: auto;\\n appearance: none;\\n -webkit-appearance: none;\\n background-image: url(\\'data:image/svg+xml;utf8,\\');\\n background-position: right 0.5em center;\\n background-size: 8px 6px;\\n background-repeat: no-repeat;\\n}\\n.bk-root select[multiple].bk-input,\\n.bk-root select[size].bk-input,\\n.bk-root textarea.bk-input {\\n height: auto;\\n}\\n.bk-root .bk-input-group {\\n width: 100%;\\n height: 100%;\\n display: inline-flex;\\n display: -webkit-inline-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: start;\\n -webkit-align-items: start;\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n white-space: nowrap;\\n}\\n.bk-root .bk-input-group.bk-inline {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-input-group.bk-inline > *:not(:first-child) {\\n margin-left: 5px;\\n}\\n.bk-root .bk-input-group input[type=\"checkbox\"] + span,\\n.bk-root .bk-input-group input[type=\"radio\"] + span {\\n position: relative;\\n top: -2px;\\n margin-left: 3px;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper {\\n display: inherit;\\n width: inherit;\\n height: inherit;\\n position: relative;\\n overflow: hidden;\\n padding: 0;\\n vertical-align: middle;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper input {\\n padding-right: 20px;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn {\\n position: absolute;\\n display: block;\\n height: 50%;\\n min-height: 0;\\n min-width: 0;\\n width: 30px;\\n padding: 0;\\n margin: 0;\\n right: 0;\\n border: none;\\n background: none;\\n cursor: pointer;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn:before {\\n content: \"\";\\n display: inline-block;\\n transform: translateY(-50%);\\n border-left: 5px solid transparent;\\n border-right: 5px solid transparent;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up {\\n top: 0;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:before {\\n border-bottom: 5px solid black;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:disabled:before {\\n border-bottom-color: grey;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down {\\n bottom: 0;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:before {\\n border-top: 5px solid black;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:disabled:before {\\n border-top-color: grey;\\n}\\n'},\n", + " 412: function _(u,e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.bk_input=\"bk-input\",n.bk_input_group=\"bk-input-group\"},\n", + " 413: function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=t(404),i=t(313);class s extends o.AbstractButtonView{click(){this.model.trigger_event(new i.ButtonClick),super.click()}}n.ButtonView=s,s.__name__=\"ButtonView\";class u extends o.AbstractButton{constructor(t){super(t)}static init_Button(){this.prototype.default_view=s,this.override({label:\"Button\"})}}n.Button=u,u.__name__=\"Button\",u.init_Button()},\n", + " 414: function _(t,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const i=t(1),c=t(415),s=t(72),n=i.__importStar(t(18)),a=t(173);class u extends c.ButtonGroupView{get active(){return new Set(this.model.active)}change_active(t){const{active:e}=this;e.has(t)?e.delete(t):e.add(t),this.model.active=[...e].sort()}_update_active(){const{active:t}=this;this._buttons.forEach((e,o)=>{s.classes(e).toggle(a.bk_active,t.has(o))})}}o.CheckboxButtonGroupView=u,u.__name__=\"CheckboxButtonGroupView\";class r extends c.ButtonGroup{constructor(t){super(t)}static init_CheckboxButtonGroup(){this.prototype.default_view=u,this.define({active:[n.Array,[]]})}}o.CheckboxButtonGroup=r,r.__name__=\"CheckboxButtonGroup\",r.init_CheckboxButtonGroup()},\n", + " 415: function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=t(1),o=t(405),i=t(72),r=n.__importStar(t(18)),_=t(281),u=n.__importDefault(t(283));class a extends o.ControlView{*controls(){yield*this._buttons}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.button_type,()=>this.render()),this.on_change(t.labels,()=>this.render()),this.on_change(t.active,()=>this._update_active())}styles(){return[...super.styles(),u.default]}render(){super.render(),this._buttons=this.model.labels.map((t,e)=>{const s=i.div({class:[_.bk_btn,_.bk_btn_type(this.model.button_type)],disabled:this.model.disabled},t);return s.addEventListener(\"click\",()=>this.change_active(e)),s}),this._update_active();const t=i.div({class:_.bk_btn_group},this._buttons);this.el.appendChild(t)}}s.ButtonGroupView=a,a.__name__=\"ButtonGroupView\";class l extends o.Control{constructor(t){super(t)}static init_ButtonGroup(){this.define({labels:[r.Array,[]],button_type:[r.ButtonType,\"default\"]})}}s.ButtonGroup=l,l.__name__=\"ButtonGroup\",l.init_ButtonGroup()},\n", + " 416: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(417),o=e(72),c=e(9),a=n.__importStar(e(18)),l=e(173),d=e(412);class r extends s.InputGroupView{render(){super.render();const e=o.div({class:[d.bk_input_group,this.model.inline?l.bk_inline:null]});this.el.appendChild(e);const{active:t,labels:i}=this.model;this._inputs=[];for(let n=0;nthis.change_active(n)),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),c.includes(t,n)&&(s.checked=!0);const a=o.label({},s,o.span({},i[n]));e.appendChild(a)}}change_active(e){const t=new Set(this.model.active);t.has(e)?t.delete(e):t.add(e),this.model.active=[...t].sort()}}i.CheckboxGroupView=r,r.__name__=\"CheckboxGroupView\";class p extends s.InputGroup{constructor(e){super(e)}static init_CheckboxGroup(){this.prototype.default_view=r,this.define({active:[a.Array,[]],labels:[a.Array,[]],inline:[a.Boolean,!1]})}}i.CheckboxGroup=p,p.__name__=\"CheckboxGroup\",p.init_CheckboxGroup()},\n", + " 417: function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=e(1),o=e(405),r=s.__importDefault(e(411));class u extends o.ControlView{*controls(){yield*this._inputs}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render())}styles(){return[...super.styles(),r.default]}}n.InputGroupView=u,u.__name__=\"InputGroupView\";class _ extends o.Control{constructor(e){super(e)}}n.InputGroup=_,_.__name__=\"InputGroup\"},\n", + " 418: function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),o=e(410),s=e(72),l=n.__importStar(e(18)),r=e(412);class c extends o.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,()=>this.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.color.change,()=>this.input_el.value=this.model.color),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled)}render(){super.render(),this.input_el=s.input({type:\"color\",class:r.bk_input,name:this.model.name,value:this.model.color,disabled:this.model.disabled}),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.input_el)}change_input(){this.model.color=this.input_el.value,super.change_input()}}t.ColorPickerView=c,c.__name__=\"ColorPickerView\";class d extends o.InputWidget{constructor(e){super(e)}static init_ColorPicker(){this.prototype.default_view=c,this.define({color:[l.Color,\"#000000\"]})}}t.ColorPicker=d,d.__name__=\"ColorPicker\",d.init_ColorPicker()},\n", + " 419: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=n.__importDefault(e(420)),a=e(410),l=e(72),o=n.__importStar(e(18)),r=e(8),d=e(412),c=n.__importDefault(e(421));function u(e){const t=[];for(const i of e)if(r.isString(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class _ extends a.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:n,enabled_dates:s,position:a,inline:l}=this.model.properties;this.connect(e.change,()=>{var t;return null===(t=this._picker)||void 0===t?void 0:t.setDate(e.value())}),this.connect(t.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"minDate\",t.value())}),this.connect(i.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"maxDate\",i.value())}),this.connect(n.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"disable\",n.value())}),this.connect(s.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"enable\",s.value())}),this.connect(a.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"position\",a.value())}),this.connect(l.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"inline\",l.value())})}remove(){var e;null===(e=this._picker)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),c.default]}render(){null==this._picker&&(super.render(),this.input_el=l.input({type:\"text\",class:d.bk_input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=s.default(this.input_el,{defaultDate:this.model.value,minDate:this.model.min_date,maxDate:this.model.max_date,inline:this.model.inline,position:this.model.position,disable:u(this.model.disabled_dates),enable:u(this.model.enabled_dates),onChange:(e,t,i)=>this._on_change(e,t,i)}))}_on_change(e,t,i){this.model.value=t,this.change_input()}}i.DatePickerView=_,_.__name__=\"DatePickerView\";class h extends a.InputWidget{constructor(e){super(e)}static init_DatePicker(){this.prototype.default_view=_,this.define({value:[o.Any],min_date:[o.Any],max_date:[o.Any],disabled_dates:[o.Any,[]],enabled_dates:[o.Any,[]],position:[o.CalendarPosition,\"auto\"],inline:[o.Boolean,!1]})}}i.DatePicker=h,h.__name__=\"DatePicker\",h.init_DatePicker()},\n", + " 420: function _(e,t,n){\n", + " /* flatpickr v4.6.3, @license MIT */var a,i;a=this,i=function(){\"use strict\";\n", + " /*! *****************************************************************************\n", + " Copyright (c) Microsoft Corporation. All rights reserved.\n", + " Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n", + " this file except in compliance with the License. You may obtain a copy of the\n", + " License at http://www.apache.org/licenses/LICENSE-2.0\n", + " \n", + " THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n", + " KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n", + " WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n", + " MERCHANTABLITY OR NON-INFRINGEMENT.\n", + " \n", + " See the Apache Version 2.0 License for specific language governing permissions\n", + " and limitations under the License.\n", + " ***************************************************************************** */var e=function(){return(e=Object.assign||function(e){for(var t,n=1,a=arguments.length;n\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},a={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return\"th\";switch(t%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},i=function(e){return(\"0\"+e).slice(-2)},o=function(e){return!0===e?1:0};function r(e,t,n){var a;return void 0===n&&(n=!1),function(){var i=this,o=arguments;null!==a&&clearTimeout(a),a=window.setTimeout((function(){a=null,n||e.apply(i,o)}),t),n&&!a&&e.apply(i,o)}}var l=function(e){return e instanceof Array?e:[e]};function c(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function d(e,t,n){var a=window.document.createElement(e);return t=t||\"\",n=n||\"\",a.className=t,void 0!==n&&(a.textContent=n),a}function s(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function u(e,t){var n=d(\"div\",\"numInputWrapper\"),a=d(\"input\",\"numInput \"+e),i=d(\"span\",\"arrowUp\"),o=d(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?a.type=\"number\":(a.type=\"text\",a.pattern=\"\\\\d*\"),void 0!==t)for(var r in t)a.setAttribute(r,t[r]);return n.appendChild(a),n.appendChild(i),n.appendChild(o),n}var f=function(){},m=function(e,t,n){return n.months[t?\"shorthand\":\"longhand\"][e]},g={D:f,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours(parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*o(new RegExp(n.amPM[1],\"i\").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var a=parseInt(t),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+n.firstDayOfWeek),i},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours(parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:f,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:f,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},p={D:\"(\\\\w+)\",F:\"(\\\\w+)\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"(\\\\w+)\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"(\\\\w+)\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},h={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[h.w(e,t,n)]},F:function(e,t,n){return m(h.n(e,t,n)-1,!1,t)},G:function(e,t,n){return i(h.h(e,t,n))},H:function(e){return i(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[o(e.getHours()>11)]},M:function(e,t){return m(e.getMonth(),!0,t)},S:function(e){return i(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(e){return i(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return i(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return i(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},v=function(e){var t=e.config,i=void 0===t?n:t,o=e.l10n,r=void 0===o?a:o;return function(e,t,n){var a=n||r;return void 0!==i.formatDate?i.formatDate(e,t,a):t.split(\"\").map((function(t,n,o){return h[t]&&\"\\\\\"!==o[n-1]?h[t](e,a,i):\"\\\\\"!==t?t:\"\"})).join(\"\")}},D=function(e){var t=e.config,i=void 0===t?n:t,o=e.l10n,r=void 0===o?a:o;return function(e,t,a,o){if(0===e||e){var l,c=o||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if(\"string\"==typeof e){var s=t||(i||n).dateFormat,u=String(e).trim();if(\"today\"===u)l=new Date,a=!0;else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else if(i&&i.parseDate)l=i.parseDate(e,s);else{l=i&&i.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,m=[],h=0,v=0,D=\"\";hr&&(s=n===h.hourElement?s-r-o(!h.amPM):a,f&&Y(void 0,1,h.hourElement)),h.amPM&&u&&(1===l?s+c===23:Math.abs(s-c)>l)&&(h.amPM.textContent=h.l10n.amPM[o(h.amPM.textContent===h.l10n.amPM[0])]),n.value=i(s)}}(e);var t=h._input.value;E(),ve(),h._input.value!==t&&h._debouncedChange()}function E(){if(void 0!==h.hourElement&&void 0!==h.minuteElement){var e,t,n=(parseInt(h.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(h.minuteElement.value,10)||0)%60,i=void 0!==h.secondElement?(parseInt(h.secondElement.value,10)||0)%60:0;void 0!==h.amPM&&(e=n,t=h.amPM.textContent,n=e%12+12*o(t===h.l10n.amPM[1]));var r=void 0!==h.config.minTime||h.config.minDate&&h.minDateHasTime&&h.latestSelectedDateObj&&0===w(h.latestSelectedDateObj,h.config.minDate,!0);if(void 0!==h.config.maxTime||h.config.maxDate&&h.maxDateHasTime&&h.latestSelectedDateObj&&0===w(h.latestSelectedDateObj,h.config.maxDate,!0)){var l=void 0!==h.config.maxTime?h.config.maxTime:h.config.maxDate;(n=Math.min(n,l.getHours()))===l.getHours()&&(a=Math.min(a,l.getMinutes())),a===l.getMinutes()&&(i=Math.min(i,l.getSeconds()))}if(r){var c=void 0!==h.config.minTime?h.config.minTime:h.config.minDate;(n=Math.max(n,c.getHours()))===c.getHours()&&(a=Math.max(a,c.getMinutes())),a===c.getMinutes()&&(i=Math.max(i,c.getSeconds()))}I(n,a,i)}}function T(e){var t=e||h.latestSelectedDateObj;t&&I(t.getHours(),t.getMinutes(),t.getSeconds())}function k(){var e=h.config.defaultHour,t=h.config.defaultMinute,n=h.config.defaultSeconds;if(void 0!==h.config.minDate){var a=h.config.minDate.getHours(),i=h.config.minDate.getMinutes();(e=Math.max(e,a))===a&&(t=Math.max(i,t)),e===a&&t===i&&(n=h.config.minDate.getSeconds())}if(void 0!==h.config.maxDate){var o=h.config.maxDate.getHours(),r=h.config.maxDate.getMinutes();(e=Math.min(e,o))===o&&(t=Math.min(r,t)),e===o&&t===r&&(n=h.config.maxDate.getSeconds())}I(e,t,n)}function I(e,t,n){void 0!==h.latestSelectedDateObj&&h.latestSelectedDateObj.setHours(e%24,t,n||0,0),h.hourElement&&h.minuteElement&&!h.isMobile&&(h.hourElement.value=i(h.config.time_24hr?e:(12+e)%12+12*o(e%12==0)),h.minuteElement.value=i(t),void 0!==h.amPM&&(h.amPM.textContent=h.l10n.amPM[o(e>=12)]),void 0!==h.secondElement&&(h.secondElement.value=i(n)))}function S(e){var t=parseInt(e.target.value)+(e.delta||0);(t/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(t.toString()))&&V(t)}function O(e,t,n,a){return t instanceof Array?t.forEach((function(t){return O(e,t,n,a)})):e instanceof Array?e.forEach((function(e){return O(e,t,n,a)})):(e.addEventListener(t,n,a),void h._handlers.push({element:e,event:t,handler:n,options:a}))}function _(e){return function(t){1===t.which&&e(t)}}function F(){fe(\"onChange\")}function N(e,t){var n=void 0!==e?h.parseDate(e):h.latestSelectedDateObj||(h.config.minDate&&h.config.minDate>h.now?h.config.minDate:h.config.maxDate&&h.config.maxDate=0&&w(e,h.selectedDates[1])<=0}(t)&&!ge(t)&&o.classList.add(\"inRange\"),h.weekNumbers&&1===h.config.showMonths&&\"prevMonthDay\"!==e&&n%7==1&&h.weekNumbers.insertAdjacentHTML(\"beforeend\",\"\"+h.config.getWeek(t)+\"\"),fe(\"onDayCreate\",o),o}function j(e){e.focus(),\"range\"===h.config.mode&&ee(e)}function H(e){for(var t=e>0?0:h.config.showMonths-1,n=e>0?h.config.showMonths:-1,a=t;a!=n;a+=e)for(var i=h.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf(\"hidden\")&&Z(c.dateObj))return c}}function L(e,t){var n=Q(document.activeElement||document.body),a=void 0!==e?e:n?document.activeElement:void 0!==h.selectedDateElem&&Q(h.selectedDateElem)?h.selectedDateElem:void 0!==h.todayDateElem&&Q(h.todayDateElem)?h.todayDateElem:H(t>0?1:-1);return void 0===a?h._input.focus():n?void function(e,t){for(var n=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():h.currentMonth,a=t>0?h.config.showMonths:-1,i=t>0?1:-1,o=n-h.currentMonth;o!=a;o+=i)for(var r=h.daysContainer.children[o],l=n-h.currentMonth===o?e.$i+t:t<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d0?c:-1);d+=i){var s=r.children[d];if(-1===s.className.indexOf(\"hidden\")&&Z(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return j(s)}h.changeMonth(i),L(H(i),0)}(a,t):j(a)}function W(e,t){for(var n=(new Date(e,t,1).getDay()-h.l10n.firstDayOfWeek+7)%7,a=h.utils.getDaysInMonth((t-1+12)%12),i=h.utils.getDaysInMonth(t),o=window.document.createDocumentFragment(),r=h.config.showMonths>1,l=r?\"prevMonthDay hidden\":\"prevMonthDay\",c=r?\"nextMonthDay hidden\":\"nextMonthDay\",s=a+1-n,u=0;s<=a;s++,u++)o.appendChild(A(l,new Date(e,t-1,s),s,u));for(s=1;s<=i;s++,u++)o.appendChild(A(\"\",new Date(e,t,s),s,u));for(var f=i+1;f<=42-n&&(1===h.config.showMonths||u%7!=0);f++,u++)o.appendChild(A(c,new Date(e,t+1,f%i),f,u));var m=d(\"div\",\"dayContainer\");return m.appendChild(o),m}function R(){if(void 0!==h.daysContainer){s(h.daysContainer),h.weekNumbers&&s(h.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t1||\"dropdown\"!==h.config.monthSelectorType)){var e=function(e){return!(void 0!==h.config.minDate&&h.currentYear===h.config.minDate.getFullYear()&&eh.config.maxDate.getMonth())};h.monthsDropdownContainer.tabIndex=-1,h.monthsDropdownContainer.innerHTML=\"\";for(var t=0;t<12;t++)if(e(t)){var n=d(\"option\",\"flatpickr-monthDropdown-month\");n.value=new Date(h.currentYear,t).getMonth().toString(),n.textContent=m(t,h.config.shorthandCurrentMonth,h.l10n),n.tabIndex=-1,h.currentMonth===t&&(n.selected=!0),h.monthsDropdownContainer.appendChild(n)}}}function J(){var e,t=d(\"div\",\"flatpickr-month\"),n=window.document.createDocumentFragment();h.config.showMonths>1||\"static\"===h.config.monthSelectorType?e=d(\"span\",\"cur-month\"):(h.monthsDropdownContainer=d(\"select\",\"flatpickr-monthDropdown-months\"),O(h.monthsDropdownContainer,\"change\",(function(e){var t=e.target,n=parseInt(t.value,10);h.changeMonth(n-h.currentMonth),fe(\"onMonthChange\")})),B(),e=h.monthsDropdownContainer);var a=u(\"cur-year\",{tabindex:\"-1\"}),i=a.getElementsByTagName(\"input\")[0];i.setAttribute(\"aria-label\",h.l10n.yearAriaLabel),h.config.minDate&&i.setAttribute(\"min\",h.config.minDate.getFullYear().toString()),h.config.maxDate&&(i.setAttribute(\"max\",h.config.maxDate.getFullYear().toString()),i.disabled=!!h.config.minDate&&h.config.minDate.getFullYear()===h.config.maxDate.getFullYear());var o=d(\"div\",\"flatpickr-current-month\");return o.appendChild(e),o.appendChild(a),n.appendChild(o),t.appendChild(n),{container:t,yearElement:i,monthElement:e}}function K(){s(h.monthNav),h.monthNav.appendChild(h.prevMonthNav),h.config.showMonths&&(h.yearElements=[],h.monthElements=[]);for(var e=h.config.showMonths;e--;){var t=J();h.yearElements.push(t.yearElement),h.monthElements.push(t.monthElement),h.monthNav.appendChild(t.container)}h.monthNav.appendChild(h.nextMonthNav)}function U(){h.weekdayContainer?s(h.weekdayContainer):h.weekdayContainer=d(\"div\",\"flatpickr-weekdays\");for(var e=h.config.showMonths;e--;){var t=d(\"div\",\"flatpickr-weekdaycontainer\");h.weekdayContainer.appendChild(t)}return q(),h.weekdayContainer}function q(){if(h.weekdayContainer){var e=h.l10n.firstDayOfWeek,t=h.l10n.weekdays.shorthand.slice();e>0&&e\\n \"+t.join(\"\")+\"\\n \\n \"}}function $(e,t){void 0===t&&(t=!0);var n=t?e:e-h.currentMonth;n<0&&!0===h._hidePrevMonthArrow||n>0&&!0===h._hideNextMonthArrow||(h.currentMonth+=n,(h.currentMonth<0||h.currentMonth>11)&&(h.currentYear+=h.currentMonth>11?1:-1,h.currentMonth=(h.currentMonth+12)%12,fe(\"onYearChange\"),B()),R(),fe(\"onMonthChange\"),pe())}function z(e){return!(!h.config.appendTo||!h.config.appendTo.contains(e))||h.calendarContainer.contains(e)}function G(e){if(h.isOpen&&!h.config.inline){var t=\"function\"==typeof(r=e).composedPath?r.composedPath()[0]:r.target,n=z(t),a=t===h.input||t===h.altInput||h.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(h.input)||~e.path.indexOf(h.altInput)),i=\"blur\"===e.type?a&&e.relatedTarget&&!z(e.relatedTarget):!a&&!n&&!z(e.relatedTarget),o=!h.config.ignoredFocusElements.some((function(e){return e.contains(t)}));i&&o&&(void 0!==h.timeContainer&&void 0!==h.minuteElement&&void 0!==h.hourElement&&x(),h.close(),\"range\"===h.config.mode&&1===h.selectedDates.length&&(h.clear(!1),h.redraw()))}var r}function V(e){if(!(!e||h.config.minDate&&eh.config.maxDate.getFullYear())){var t=e,n=h.currentYear!==t;h.currentYear=t||h.currentYear,h.config.maxDate&&h.currentYear===h.config.maxDate.getFullYear()?h.currentMonth=Math.min(h.config.maxDate.getMonth(),h.currentMonth):h.config.minDate&&h.currentYear===h.config.minDate.getFullYear()&&(h.currentMonth=Math.max(h.config.minDate.getMonth(),h.currentMonth)),n&&(h.redraw(),fe(\"onYearChange\"),B())}}function Z(e,t){void 0===t&&(t=!0);var n=h.parseDate(e,void 0,t);if(h.config.minDate&&n&&w(n,h.config.minDate,void 0!==t?t:!h.minDateHasTime)<0||h.config.maxDate&&n&&w(n,h.config.maxDate,void 0!==t?t:!h.maxDateHasTime)>0)return!1;if(0===h.config.enable.length&&0===h.config.disable.length)return!0;if(void 0===n)return!1;for(var a=h.config.enable.length>0,i=a?h.config.enable:h.config.disable,o=0,r=void 0;o=r.from.getTime()&&n.getTime()<=r.to.getTime())return a}return!a}function Q(e){return void 0!==h.daysContainer&&-1===e.className.indexOf(\"hidden\")&&h.daysContainer.contains(e)}function X(e){var t=e.target===h._input,n=h.config.allowInput,a=h.isOpen&&(!n||!t),i=h.config.inline&&t&&!n;if(13===e.keyCode&&t){if(n)return h.setDate(h._input.value,!0,e.target===h.altInput?h.config.altFormat:h.config.dateFormat),e.target.blur();h.open()}else if(z(e.target)||a||i){var o=!!h.timeContainer&&h.timeContainer.contains(e.target);switch(e.keyCode){case 13:o?(e.preventDefault(),x(),le()):ce(e);break;case 27:e.preventDefault(),le();break;case 8:case 46:t&&!h.config.allowInput&&(e.preventDefault(),h.clear());break;case 37:case 39:if(o||t)h.hourElement&&h.hourElement.focus();else if(e.preventDefault(),void 0!==h.daysContainer&&(!1===n||document.activeElement&&Q(document.activeElement))){var r=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),$(r),L(H(1),0)):L(void 0,r)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;h.daysContainer&&void 0!==e.target.$i||e.target===h.input||e.target===h.altInput?e.ctrlKey?(e.stopPropagation(),V(h.currentYear-l),L(H(1),0)):o||L(void 0,7*l):e.target===h.currentYearElement?V(h.currentYear-l):h.config.enableTime&&(!o&&h.hourElement&&h.hourElement.focus(),x(e),h._debouncedChange());break;case 9:if(o){var c=[h.hourElement,h.minuteElement,h.secondElement,h.amPM].concat(h.pluginElements).filter((function(e){return e})),d=c.indexOf(e.target);if(-1!==d){var s=c[d+(e.shiftKey?-1:1)];e.preventDefault(),(s||h._input).focus()}}else!h.config.noCalendar&&h.daysContainer&&h.daysContainer.contains(e.target)&&e.shiftKey&&(e.preventDefault(),h._input.focus())}}if(void 0!==h.amPM&&e.target===h.amPM)switch(e.key){case h.l10n.amPM[0].charAt(0):case h.l10n.amPM[0].charAt(0).toLowerCase():h.amPM.textContent=h.l10n.amPM[0],E(),ve();break;case h.l10n.amPM[1].charAt(0):case h.l10n.amPM[1].charAt(0).toLowerCase():h.amPM.textContent=h.l10n.amPM[1],E(),ve()}(t||z(e.target))&&fe(\"onKeyDown\",e)}function ee(e){if(1===h.selectedDates.length&&(!e||e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\"))){for(var t=e?e.dateObj.getTime():h.days.firstElementChild.dateObj.getTime(),n=h.parseDate(h.selectedDates[0],void 0,!0).getTime(),a=Math.min(t,h.selectedDates[0].getTime()),i=Math.max(t,h.selectedDates[0].getTime()),o=!1,r=0,l=0,c=a;ca&&cr)?r=c:c>n&&(!l||c0&&m0&&m>l;return g?(f.classList.add(\"notAllowed\"),[\"inRange\",\"startRange\",\"endRange\"].forEach((function(e){f.classList.remove(e)})),\"continue\"):o&&!g?\"continue\":([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach((function(e){f.classList.remove(e)})),void(void 0!==e&&(e.classList.add(t<=h.selectedDates[0].getTime()?\"startRange\":\"endRange\"),nt&&m===n&&f.classList.add(\"endRange\"),m>=r&&(0===l||m<=l)&&(d=n,u=t,(c=m)>Math.min(d,u)&&c0||n.getMinutes()>0||n.getSeconds()>0),h.selectedDates&&(h.selectedDates=h.selectedDates.filter((function(e){return Z(e)})),h.selectedDates.length||\"min\"!==e||T(n),ve()),h.daysContainer&&(re(),void 0!==n?h.currentYearElement[e]=n.getFullYear().toString():h.currentYearElement.removeAttribute(e),h.currentYearElement.disabled=!!a&&void 0!==n&&a.getFullYear()===n.getFullYear())}}function ie(){\"object\"!=typeof h.config.locale&&void 0===y.l10ns[h.config.locale]&&h.config.errorHandler(new Error(\"flatpickr: invalid locale \"+h.config.locale)),h.l10n=e({},y.l10ns.default,\"object\"==typeof h.config.locale?h.config.locale:\"default\"!==h.config.locale?y.l10ns[h.config.locale]:void 0),p.K=\"(\"+h.l10n.amPM[0]+\"|\"+h.l10n.amPM[1]+\"|\"+h.l10n.amPM[0].toLowerCase()+\"|\"+h.l10n.amPM[1].toLowerCase()+\")\",void 0===e({},g,JSON.parse(JSON.stringify(f.dataset||{}))).time_24hr&&void 0===y.defaultConfig.time_24hr&&(h.config.time_24hr=h.l10n.time_24hr),h.formatDate=v(h),h.parseDate=D({config:h.config,l10n:h.l10n})}function oe(e){if(void 0!==h.calendarContainer){fe(\"onPreCalendarPosition\");var t=e||h._positionElement,n=Array.prototype.reduce.call(h.calendarContainer.children,(function(e,t){return e+t.offsetHeight}),0),a=h.calendarContainer.offsetWidth,i=h.config.position.split(\" \"),o=i[0],r=i.length>1?i[1]:null,l=t.getBoundingClientRect(),d=window.innerHeight-l.bottom,s=\"above\"===o||\"below\"!==o&&dn,u=window.pageYOffset+l.top+(s?-n-2:t.offsetHeight+2);if(c(h.calendarContainer,\"arrowTop\",!s),c(h.calendarContainer,\"arrowBottom\",s),!h.config.inline){var f=window.pageXOffset+l.left-(null!=r&&\"center\"===r?(a-l.width)/2:0),m=window.document.body.offsetWidth-(window.pageXOffset+l.right),g=f+a>window.document.body.offsetWidth,p=m+a>window.document.body.offsetWidth;if(c(h.calendarContainer,\"rightMost\",g),!h.config.static)if(h.calendarContainer.style.top=u+\"px\",g)if(p){var v=document.styleSheets[0];if(void 0===v)return;var D=window.document.body.offsetWidth,w=Math.max(0,D/2-a/2),b=v.cssRules.length,C=\"{left:\"+l.left+\"px;right:auto;}\";c(h.calendarContainer,\"rightMost\",!1),c(h.calendarContainer,\"centerMost\",!0),v.insertRule(\".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after\"+C,b),h.calendarContainer.style.left=w+\"px\",h.calendarContainer.style.right=\"auto\"}else h.calendarContainer.style.left=\"auto\",h.calendarContainer.style.right=m+\"px\";else h.calendarContainer.style.left=f+\"px\",h.calendarContainer.style.right=\"auto\"}}}function re(){h.config.noCalendar||h.isMobile||(pe(),R())}function le(){h._input.focus(),-1!==window.navigator.userAgent.indexOf(\"MSIE\")||void 0!==navigator.msMaxTouchPoints?setTimeout(h.close,0):h.close()}function ce(e){e.preventDefault(),e.stopPropagation();var t=function e(t,n){return n(t)?t:t.parentNode?e(t.parentNode,n):void 0}(e.target,(function(e){return e.classList&&e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\")&&!e.classList.contains(\"notAllowed\")}));if(void 0!==t){var n=t,a=h.latestSelectedDateObj=new Date(n.dateObj.getTime()),i=(a.getMonth()h.currentMonth+h.config.showMonths-1)&&\"range\"!==h.config.mode;if(h.selectedDateElem=n,\"single\"===h.config.mode)h.selectedDates=[a];else if(\"multiple\"===h.config.mode){var o=ge(a);o?h.selectedDates.splice(parseInt(o),1):h.selectedDates.push(a)}else\"range\"===h.config.mode&&(2===h.selectedDates.length&&h.clear(!1,!1),h.latestSelectedDateObj=a,h.selectedDates.push(a),0!==w(a,h.selectedDates[0],!0)&&h.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()})));if(E(),i){var r=h.currentYear!==a.getFullYear();h.currentYear=a.getFullYear(),h.currentMonth=a.getMonth(),r&&(fe(\"onYearChange\"),B()),fe(\"onMonthChange\")}if(pe(),R(),ve(),h.config.enableTime&&setTimeout((function(){return h.showTimeInput=!0}),50),i||\"range\"===h.config.mode||1!==h.config.showMonths?void 0!==h.selectedDateElem&&void 0===h.hourElement&&h.selectedDateElem&&h.selectedDateElem.focus():j(n),void 0!==h.hourElement&&void 0!==h.hourElement&&h.hourElement.focus(),h.config.closeOnSelect){var l=\"single\"===h.config.mode&&!h.config.enableTime,c=\"range\"===h.config.mode&&2===h.selectedDates.length&&!h.config.enableTime;(l||c)&&le()}F()}}h.parseDate=D({config:h.config,l10n:h.l10n}),h._handlers=[],h.pluginElements=[],h.loadedPlugins=[],h._bind=O,h._setHoursFromDate=T,h._positionCalendar=oe,h.changeMonth=$,h.changeYear=V,h.clear=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0),h.input.value=\"\",void 0!==h.altInput&&(h.altInput.value=\"\"),void 0!==h.mobileInput&&(h.mobileInput.value=\"\"),h.selectedDates=[],h.latestSelectedDateObj=void 0,!0===t&&(h.currentYear=h._initialDate.getFullYear(),h.currentMonth=h._initialDate.getMonth()),h.showTimeInput=!1,!0===h.config.enableTime&&k(),h.redraw(),e&&fe(\"onChange\")},h.close=function(){h.isOpen=!1,h.isMobile||(void 0!==h.calendarContainer&&h.calendarContainer.classList.remove(\"open\"),void 0!==h._input&&h._input.classList.remove(\"active\")),fe(\"onClose\")},h._createElement=d,h.destroy=function(){void 0!==h.config&&fe(\"onDestroy\");for(var e=h._handlers.length;e--;){var t=h._handlers[e];t.element.removeEventListener(t.event,t.handler,t.options)}if(h._handlers=[],h.mobileInput)h.mobileInput.parentNode&&h.mobileInput.parentNode.removeChild(h.mobileInput),h.mobileInput=void 0;else if(h.calendarContainer&&h.calendarContainer.parentNode)if(h.config.static&&h.calendarContainer.parentNode){var n=h.calendarContainer.parentNode;if(n.lastChild&&n.removeChild(n.lastChild),n.parentNode){for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.parentNode.removeChild(n)}}else h.calendarContainer.parentNode.removeChild(h.calendarContainer);h.altInput&&(h.input.type=\"text\",h.altInput.parentNode&&h.altInput.parentNode.removeChild(h.altInput),delete h.altInput),h.input&&(h.input.type=h.input._type,h.input.classList.remove(\"flatpickr-input\"),h.input.removeAttribute(\"readonly\"),h.input.value=\"\"),[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach((function(e){try{delete h[e]}catch(e){}}))},h.isEnabled=Z,h.jumpToDate=N,h.open=function(e,t){if(void 0===t&&(t=h._positionElement),!0===h.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),void 0!==h.mobileInput&&(h.mobileInput.focus(),h.mobileInput.click()),void fe(\"onOpen\");if(!h._input.disabled&&!h.config.inline){var n=h.isOpen;h.isOpen=!0,n||(h.calendarContainer.classList.add(\"open\"),h._input.classList.add(\"active\"),fe(\"onOpen\"),oe(t)),!0===h.config.enableTime&&!0===h.config.noCalendar&&(0===h.selectedDates.length&&ne(),!1!==h.config.allowInput||void 0!==e&&h.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return h.hourElement.select()}),50))}},h.redraw=re,h.set=function(e,n){if(null!==e&&\"object\"==typeof e)for(var a in Object.assign(h.config,e),e)void 0!==de[a]&&de[a].forEach((function(e){return e()}));else h.config[e]=n,void 0!==de[e]?de[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(h.config[e]=l(n));h.redraw(),ve(!1)},h.setDate=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=h.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return h.clear(t);se(e,n),h.showTimeInput=h.selectedDates.length>0,h.latestSelectedDateObj=h.selectedDates[h.selectedDates.length-1],h.redraw(),N(),T(),0===h.selectedDates.length&&h.clear(!1),ve(t),t&&fe(\"onChange\")},h.toggle=function(e){if(!0===h.isOpen)return h.close();h.open(e)};var de={locale:[ie,q],showMonths:[K,M,U],minDate:[N],maxDate:[N]};function se(e,t){var n=[];if(e instanceof Array)n=e.map((function(e){return h.parseDate(e,t)}));else if(e instanceof Date||\"number\"==typeof e)n=[h.parseDate(e,t)];else if(\"string\"==typeof e)switch(h.config.mode){case\"single\":case\"time\":n=[h.parseDate(e,t)];break;case\"multiple\":n=e.split(h.config.conjunction).map((function(e){return h.parseDate(e,t)}));break;case\"range\":n=e.split(h.l10n.rangeSeparator).map((function(e){return h.parseDate(e,t)}))}else h.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));h.selectedDates=n.filter((function(e){return e instanceof Date&&Z(e,!1)})),\"range\"===h.config.mode&&h.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()}))}function ue(e){return e.slice().map((function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?h.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:h.parseDate(e.from,void 0),to:h.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function fe(e,t){if(void 0!==h.config){var n=h.config[e];if(void 0!==n&&n.length>0)for(var a=0;n[a]&&a1||\"static\"===h.config.monthSelectorType?h.monthElements[t].textContent=m(n.getMonth(),h.config.shorthandCurrentMonth,h.l10n)+\" \":h.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()})),h._hidePrevMonthArrow=void 0!==h.config.minDate&&(h.currentYear===h.config.minDate.getFullYear()?h.currentMonth<=h.config.minDate.getMonth():h.currentYearh.config.maxDate.getMonth():h.currentYear>h.config.maxDate.getFullYear()))}function he(e){return h.selectedDates.map((function(t){return h.formatDate(t,e)})).filter((function(e,t,n){return\"range\"!==h.config.mode||h.config.enableTime||n.indexOf(e)===t})).join(\"range\"!==h.config.mode?h.config.conjunction:h.l10n.rangeSeparator)}function ve(e){void 0===e&&(e=!0),void 0!==h.mobileInput&&h.mobileFormatStr&&(h.mobileInput.value=void 0!==h.latestSelectedDateObj?h.formatDate(h.latestSelectedDateObj,h.mobileFormatStr):\"\"),h.input.value=he(h.config.dateFormat),void 0!==h.altInput&&(h.altInput.value=he(h.config.altFormat)),!1!==e&&fe(\"onValueUpdate\")}function De(e){var t=h.prevMonthNav.contains(e.target),n=h.nextMonthNav.contains(e.target);t||n?$(t?-1:1):h.yearElements.indexOf(e.target)>=0?e.target.select():e.target.classList.contains(\"arrowUp\")?h.changeYear(h.currentYear+1):e.target.classList.contains(\"arrowDown\")&&h.changeYear(h.currentYear-1)}return function(){h.element=h.input=f,h.isOpen=!1,function(){var a=[\"wrap\",\"weekNumbers\",\"allowInput\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],i=e({},g,JSON.parse(JSON.stringify(f.dataset||{}))),o={};h.config.parseDate=i.parseDate,h.config.formatDate=i.formatDate,Object.defineProperty(h.config,\"enable\",{get:function(){return h.config._enable},set:function(e){h.config._enable=ue(e)}}),Object.defineProperty(h.config,\"disable\",{get:function(){return h.config._disable},set:function(e){h.config._disable=ue(e)}});var r=\"time\"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var c=y.defaultConfig.dateFormat||n.dateFormat;o.dateFormat=i.noCalendar||r?\"H:i\"+(i.enableSeconds?\":S\":\"\"):c+\" H:i\"+(i.enableSeconds?\":S\":\"\")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var d=y.defaultConfig.altFormat||n.altFormat;o.altFormat=i.noCalendar||r?\"h:i\"+(i.enableSeconds?\":S K\":\" K\"):d+\" h:i\"+(i.enableSeconds?\":S\":\"\")+\" K\"}i.altInputClass||(h.config.altInputClass=h.input.className+\" \"+h.config.altInputClass),Object.defineProperty(h.config,\"minDate\",{get:function(){return h.config._minDate},set:ae(\"min\")}),Object.defineProperty(h.config,\"maxDate\",{get:function(){return h.config._maxDate},set:ae(\"max\")});var s=function(e){return function(t){h.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=h.parseDate(t,\"H:i:S\")}};Object.defineProperty(h.config,\"minTime\",{get:function(){return h.config._minTime},set:s(\"min\")}),Object.defineProperty(h.config,\"maxTime\",{get:function(){return h.config._maxTime},set:s(\"max\")}),\"time\"===i.mode&&(h.config.noCalendar=!0,h.config.enableTime=!0),Object.assign(h.config,o,i);for(var u=0;u-1?h.config[p]=l(m[p]).map(C).concat(h.config[p]):void 0===i[p]&&(h.config[p]=m[p])}fe(\"onParseConfig\")}(),ie(),h.input=h.config.wrap?f.querySelector(\"[data-input]\"):f,h.input?(h.input._type=h.input.type,h.input.type=\"text\",h.input.classList.add(\"flatpickr-input\"),h._input=h.input,h.config.altInput&&(h.altInput=d(h.input.nodeName,h.config.altInputClass),h._input=h.altInput,h.altInput.placeholder=h.input.placeholder,h.altInput.disabled=h.input.disabled,h.altInput.required=h.input.required,h.altInput.tabIndex=h.input.tabIndex,h.altInput.type=\"text\",h.input.setAttribute(\"type\",\"hidden\"),!h.config.static&&h.input.parentNode&&h.input.parentNode.insertBefore(h.altInput,h.input.nextSibling)),h.config.allowInput||h._input.setAttribute(\"readonly\",\"readonly\"),h._positionElement=h.config.positionElement||h._input):h.config.errorHandler(new Error(\"Invalid input element specified\")),function(){h.selectedDates=[],h.now=h.parseDate(h.config.now)||new Date;var e=h.config.defaultDate||(\"INPUT\"!==h.input.nodeName&&\"TEXTAREA\"!==h.input.nodeName||!h.input.placeholder||h.input.value!==h.input.placeholder?h.input.value:null);e&&se(e,h.config.dateFormat),h._initialDate=h.selectedDates.length>0?h.selectedDates[0]:h.config.minDate&&h.config.minDate.getTime()>h.now.getTime()?h.config.minDate:h.config.maxDate&&h.config.maxDate.getTime()0&&(h.latestSelectedDateObj=h.selectedDates[0]),void 0!==h.config.minTime&&(h.config.minTime=h.parseDate(h.config.minTime,\"H:i\")),void 0!==h.config.maxTime&&(h.config.maxTime=h.parseDate(h.config.maxTime,\"H:i\")),h.minDateHasTime=!!h.config.minDate&&(h.config.minDate.getHours()>0||h.config.minDate.getMinutes()>0||h.config.minDate.getSeconds()>0),h.maxDateHasTime=!!h.config.maxDate&&(h.config.maxDate.getHours()>0||h.config.maxDate.getMinutes()>0||h.config.maxDate.getSeconds()>0),Object.defineProperty(h,\"showTimeInput\",{get:function(){return h._showTimeInput},set:function(e){h._showTimeInput=e,h.calendarContainer&&c(h.calendarContainer,\"showTimeInput\",e),h.isOpen&&oe()}})}(),h.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=h.currentMonth),void 0===t&&(t=h.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:h.l10n.daysInMonth[e]}},h.isMobile||function(){var e=window.document.createDocumentFragment();if(h.calendarContainer=d(\"div\",\"flatpickr-calendar\"),h.calendarContainer.tabIndex=-1,!h.config.noCalendar){if(e.appendChild((h.monthNav=d(\"div\",\"flatpickr-months\"),h.yearElements=[],h.monthElements=[],h.prevMonthNav=d(\"span\",\"flatpickr-prev-month\"),h.prevMonthNav.innerHTML=h.config.prevArrow,h.nextMonthNav=d(\"span\",\"flatpickr-next-month\"),h.nextMonthNav.innerHTML=h.config.nextArrow,K(),Object.defineProperty(h,\"_hidePrevMonthArrow\",{get:function(){return h.__hidePrevMonthArrow},set:function(e){h.__hidePrevMonthArrow!==e&&(c(h.prevMonthNav,\"flatpickr-disabled\",e),h.__hidePrevMonthArrow=e)}}),Object.defineProperty(h,\"_hideNextMonthArrow\",{get:function(){return h.__hideNextMonthArrow},set:function(e){h.__hideNextMonthArrow!==e&&(c(h.nextMonthNav,\"flatpickr-disabled\",e),h.__hideNextMonthArrow=e)}}),h.currentYearElement=h.yearElements[0],pe(),h.monthNav)),h.innerContainer=d(\"div\",\"flatpickr-innerContainer\"),h.config.weekNumbers){var t=function(){h.calendarContainer.classList.add(\"hasWeeks\");var e=d(\"div\",\"flatpickr-weekwrapper\");e.appendChild(d(\"span\",\"flatpickr-weekday\",h.l10n.weekAbbreviation));var t=d(\"div\",\"flatpickr-weeks\");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),n=t.weekWrapper,a=t.weekNumbers;h.innerContainer.appendChild(n),h.weekNumbers=a,h.weekWrapper=n}h.rContainer=d(\"div\",\"flatpickr-rContainer\"),h.rContainer.appendChild(U()),h.daysContainer||(h.daysContainer=d(\"div\",\"flatpickr-days\"),h.daysContainer.tabIndex=-1),R(),h.rContainer.appendChild(h.daysContainer),h.innerContainer.appendChild(h.rContainer),e.appendChild(h.innerContainer)}h.config.enableTime&&e.appendChild(function(){h.calendarContainer.classList.add(\"hasTime\"),h.config.noCalendar&&h.calendarContainer.classList.add(\"noCalendar\"),h.timeContainer=d(\"div\",\"flatpickr-time\"),h.timeContainer.tabIndex=-1;var e=d(\"span\",\"flatpickr-time-separator\",\":\"),t=u(\"flatpickr-hour\",{\"aria-label\":h.l10n.hourAriaLabel});h.hourElement=t.getElementsByTagName(\"input\")[0];var n=u(\"flatpickr-minute\",{\"aria-label\":h.l10n.minuteAriaLabel});if(h.minuteElement=n.getElementsByTagName(\"input\")[0],h.hourElement.tabIndex=h.minuteElement.tabIndex=-1,h.hourElement.value=i(h.latestSelectedDateObj?h.latestSelectedDateObj.getHours():h.config.time_24hr?h.config.defaultHour:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(h.config.defaultHour)),h.minuteElement.value=i(h.latestSelectedDateObj?h.latestSelectedDateObj.getMinutes():h.config.defaultMinute),h.hourElement.setAttribute(\"step\",h.config.hourIncrement.toString()),h.minuteElement.setAttribute(\"step\",h.config.minuteIncrement.toString()),h.hourElement.setAttribute(\"min\",h.config.time_24hr?\"0\":\"1\"),h.hourElement.setAttribute(\"max\",h.config.time_24hr?\"23\":\"12\"),h.minuteElement.setAttribute(\"min\",\"0\"),h.minuteElement.setAttribute(\"max\",\"59\"),h.timeContainer.appendChild(t),h.timeContainer.appendChild(e),h.timeContainer.appendChild(n),h.config.time_24hr&&h.timeContainer.classList.add(\"time24hr\"),h.config.enableSeconds){h.timeContainer.classList.add(\"hasSeconds\");var a=u(\"flatpickr-second\");h.secondElement=a.getElementsByTagName(\"input\")[0],h.secondElement.value=i(h.latestSelectedDateObj?h.latestSelectedDateObj.getSeconds():h.config.defaultSeconds),h.secondElement.setAttribute(\"step\",h.minuteElement.getAttribute(\"step\")),h.secondElement.setAttribute(\"min\",\"0\"),h.secondElement.setAttribute(\"max\",\"59\"),h.timeContainer.appendChild(d(\"span\",\"flatpickr-time-separator\",\":\")),h.timeContainer.appendChild(a)}return h.config.time_24hr||(h.amPM=d(\"span\",\"flatpickr-am-pm\",h.l10n.amPM[o((h.latestSelectedDateObj?h.hourElement.value:h.config.defaultHour)>11)]),h.amPM.title=h.l10n.toggleTitle,h.amPM.tabIndex=-1,h.timeContainer.appendChild(h.amPM)),h.timeContainer}()),c(h.calendarContainer,\"rangeMode\",\"range\"===h.config.mode),c(h.calendarContainer,\"animate\",!0===h.config.animate),c(h.calendarContainer,\"multiMonth\",h.config.showMonths>1),h.calendarContainer.appendChild(e);var r=void 0!==h.config.appendTo&&void 0!==h.config.appendTo.nodeType;if((h.config.inline||h.config.static)&&(h.calendarContainer.classList.add(h.config.inline?\"inline\":\"static\"),h.config.inline&&(!r&&h.element.parentNode?h.element.parentNode.insertBefore(h.calendarContainer,h._input.nextSibling):void 0!==h.config.appendTo&&h.config.appendTo.appendChild(h.calendarContainer)),h.config.static)){var l=d(\"div\",\"flatpickr-wrapper\");h.element.parentNode&&h.element.parentNode.insertBefore(l,h.element),l.appendChild(h.element),h.altInput&&l.appendChild(h.altInput),l.appendChild(h.calendarContainer)}h.config.static||h.config.inline||(void 0!==h.config.appendTo?h.config.appendTo:window.document.body).appendChild(h.calendarContainer)}(),function(){if(h.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach((function(e){Array.prototype.forEach.call(h.element.querySelectorAll(\"[data-\"+e+\"]\"),(function(t){return O(t,\"click\",h[e])}))})),h.isMobile)!function(){var e=h.config.enableTime?h.config.noCalendar?\"time\":\"datetime-local\":\"date\";h.mobileInput=d(\"input\",h.input.className+\" flatpickr-mobile\"),h.mobileInput.step=h.input.getAttribute(\"step\")||\"any\",h.mobileInput.tabIndex=1,h.mobileInput.type=e,h.mobileInput.disabled=h.input.disabled,h.mobileInput.required=h.input.required,h.mobileInput.placeholder=h.input.placeholder,h.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",h.selectedDates.length>0&&(h.mobileInput.defaultValue=h.mobileInput.value=h.formatDate(h.selectedDates[0],h.mobileFormatStr)),h.config.minDate&&(h.mobileInput.min=h.formatDate(h.config.minDate,\"Y-m-d\")),h.config.maxDate&&(h.mobileInput.max=h.formatDate(h.config.maxDate,\"Y-m-d\")),h.input.type=\"hidden\",void 0!==h.altInput&&(h.altInput.type=\"hidden\");try{h.input.parentNode&&h.input.parentNode.insertBefore(h.mobileInput,h.input.nextSibling)}catch(e){}O(h.mobileInput,\"change\",(function(e){h.setDate(e.target.value,!1,h.mobileFormatStr),fe(\"onChange\"),fe(\"onClose\")}))}();else{var e=r(te,50);h._debouncedChange=r(F,300),h.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&O(h.daysContainer,\"mouseover\",(function(e){\"range\"===h.config.mode&&ee(e.target)})),O(window.document.body,\"keydown\",X),h.config.inline||h.config.static||O(window,\"resize\",e),void 0!==window.ontouchstart?O(window.document,\"touchstart\",G):O(window.document,\"mousedown\",_(G)),O(window.document,\"focus\",G,{capture:!0}),!0===h.config.clickOpens&&(O(h._input,\"focus\",h.open),O(h._input,\"mousedown\",_(h.open))),void 0!==h.daysContainer&&(O(h.monthNav,\"mousedown\",_(De)),O(h.monthNav,[\"keyup\",\"increment\"],S),O(h.daysContainer,\"mousedown\",_(ce))),void 0!==h.timeContainer&&void 0!==h.minuteElement&&void 0!==h.hourElement&&(O(h.timeContainer,[\"increment\"],x),O(h.timeContainer,\"blur\",x,{capture:!0}),O(h.timeContainer,\"mousedown\",_(P)),O([h.hourElement,h.minuteElement],[\"focus\",\"click\"],(function(e){return e.target.select()})),void 0!==h.secondElement&&O(h.secondElement,\"focus\",(function(){return h.secondElement&&h.secondElement.select()})),void 0!==h.amPM&&O(h.amPM,\"mousedown\",_((function(e){x(e),F()}))))}}(),(h.selectedDates.length||h.config.noCalendar)&&(h.config.enableTime&&T(h.config.noCalendar?h.latestSelectedDateObj||h.config.minDate:void 0),ve(!1)),M(),h.showTimeInput=h.selectedDates.length>0||h.config.noCalendar;var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!h.isMobile&&a&&oe(),fe(\"onReady\")}(),h}function M(e,t){for(var n=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;ithis.render());const{start:s,end:l,value:r,step:o,title:n}=this.model.properties;this.on_change([s,l,r,o],()=>{const{start:t,end:e,value:i,step:s}=this._calc_to();this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s})});const{bar_color:a}=this.model.properties;this.on_change(a,()=>{this._set_bar_color()});const{show_value:d}=this.model.properties;this.on_change([r,n,d],()=>this._update_title())}styles(){return[...super.styles(),h.default,c.default]}_update_title(){r.empty(this.title_el);const t=null==this.model.title||0==this.model.title.length&&!this.model.show_value;if(this.title_el.style.display=t?\"none\":\"\",!t&&(0!=this.model.title.length&&(this.title_el.textContent=this.model.title+\": \"),this.model.show_value)){const{value:t}=this._calc_to(),e=t.map(t=>this.model.pretty(t)).join(\" .. \");this.title_el.appendChild(r.span({class:d.bk_slider_value},e))}}_set_bar_color(){if(!this.model.disabled){this.slider_el.querySelector(\".noUi-connect\").style.backgroundColor=this.model.bar_color}}render(){super.render();const{start:t,end:e,value:i,step:s}=this._calc_to();let n;if(this.model.tooltips){const t={to:t=>this.model.pretty(t)};n=o.repeat(t,i.length)}else n=!1;if(null==this.slider_el){this.slider_el=r.div(),l.create(this.slider_el,{range:{min:t,max:e},start:i,step:s,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:n,orientation:this.model.orientation,direction:this.model.direction}),this.noUiSlider.on(\"slide\",(t,e,i)=>this._slide(i)),this.noUiSlider.on(\"change\",(t,e,i)=>this._change(i));const o=(t,e)=>{if(!n)return;this.slider_el.querySelectorAll(\".noUi-handle\")[t].querySelector(\".noUi-tooltip\").style.display=e?\"block\":\"\"};this.noUiSlider.on(\"start\",(t,e)=>o(e,!0)),this.noUiSlider.on(\"end\",(t,e)=>o(e,!1))}else this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s});this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute(\"disabled\",\"true\"):this.slider_el.removeAttribute(\"disabled\"),this.title_el=r.div({class:d.bk_slider_title}),this._update_title(),this.group_el=r.div({class:_.bk_input_group},this.title_el,this.slider_el),this.el.appendChild(this.group_el)}_slide(t){this.model.value=this._calc_from(t)}_change(t){this.model.value=this._calc_from(t),this.model.value_throttled=this.model.value}}u.__name__=\"AbstractBaseSliderView\";class m extends u{_calc_to(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}}_calc_from([t]){return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(t):t}}i.AbstractSliderView=m,m.__name__=\"AbstractSliderView\";class p extends u{_calc_to(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}}_calc_from(t){return t}}i.AbstractRangeSliderView=p,p.__name__=\"AbstractRangeSliderView\";class b extends n.Control{constructor(t){super(t),this.connected=!1}static init_AbstractSlider(){this.define(({Any:t,Boolean:e,Number:i,String:s,Color:l,Or:r,Enum:o,Ref:n})=>({title:[s,\"\"],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t],step:[i,1],format:[r(s,n(a.TickFormatter))],direction:[o(\"ltr\",\"rtl\"),\"ltr\"],tooltips:[e,!0],bar_color:[l,\"#e6e6e6\"]}))}_formatter(t,e){return\"\"+t}pretty(t){return this._formatter(t,this.format)}}i.AbstractSlider=b,b.__name__=\"AbstractSlider\",b.init_AbstractSlider()},\n", + " 424: function _(t,e,r){\n", + " /*! nouislider - 14.6.0 - 6/27/2020 */\n", + " var n;n=function(){\"use strict\";var t=\"14.6.0\";function e(t){t.parentElement.removeChild(t)}function r(t){return null!=t}function n(t){t.preventDefault()}function i(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function o(t,e,r){r>0&&(u(t,e),setTimeout((function(){c(t,e)}),r))}function s(t){return Math.max(Math.min(t,100),0)}function a(t){return Array.isArray(t)?t:[t]}function l(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function u(t,e){t.classList&&!/\\s/.test(e)?t.classList.add(e):t.className+=\" \"+e}function c(t,e){t.classList&&!/\\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function p(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function f(t,e){return 100/(e-t)}function d(t,e,r){return 100*e/(t[r+1]-t[r])}function h(t,e){for(var r=1;t>=e[r];)r+=1;return r}function m(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=h(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return d(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/f(s,a)}function g(t,e,r,n){if(100===n)return n;var i=h(n,t),o=t[i-1],s=t[i];return r?n-o>(s-o)/2?s:o:e[i-1]?t[i-1]+function(t,e){return Math.round(t/e)*e}(n-t[i-1],e[i-1]):n}function v(t,e,r){var n;if(\"number\"==typeof e&&(e=[e]),!Array.isArray(e))throw new Error(\"noUiSlider (14.6.0): 'range' contains invalid value.\");if(!i(n=\"min\"===t?0:\"max\"===t?100:parseFloat(t))||!i(e[0]))throw new Error(\"noUiSlider (14.6.0): 'range' value isn't numeric.\");r.xPct.push(n),r.xVal.push(e[0]),n?r.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(r.xSteps[0]=e[1]),r.xHighestCompleteStep.push(0)}function b(t,e,r){if(e)if(r.xVal[t]!==r.xVal[t+1]){r.xSteps[t]=d([r.xVal[t],r.xVal[t+1]],e,0)/f(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}else r.xSteps[t]=r.xHighestCompleteStep[t]=r.xVal[t]}function x(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&\"object\"==typeof i[0][0]?i.sort((function(t,e){return t[0][0]-e[0][0]})):i.sort((function(t,e){return t[0]-e[0]})),n=0;nthis.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);s>0;)a=this.xPct[i+1+c]-this.xPct[i+c],e[i+c]*o+100-100*n>100?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,this.xPct.length+c>=1&&c--):(u+=l,this.xPct.length-c>=1&&c++),s=e[i+c]*o;return t+u},x.prototype.toStepping=function(t){return t=m(this.xVal,this.xPct,t)},x.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=h(r,e),i=t[n-1],o=t[n],s=e[n-1];return function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,o],(r-s)*f(s,e[n]))}(this.xVal,this.xPct,t)},x.prototype.getStep=function(t){return t=g(this.xPct,this.xSteps,this.snap,t)},x.prototype.getDefaultStep=function(t,e,r){var n=h(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},x.prototype.getNearbySteps=function(t){var e=h(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},x.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(l);return Math.max.apply(null,t)},x.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var S={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number},w={target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",touchArea:\"touch-area\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",connects:\"connects\",ltr:\"ltr\",rtl:\"rtl\",textDirectionLtr:\"txt-dir-ltr\",textDirectionRtl:\"txt-dir-rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"};function y(t){if(function(t){return\"object\"==typeof t&&\"function\"==typeof t.to&&\"function\"==typeof t.from}(t))return!0;throw new Error(\"noUiSlider (14.6.0): 'format' requires 'to' and 'from' methods.\")}function E(t,e){if(!i(e))throw new Error(\"noUiSlider (14.6.0): 'step' is not numeric.\");t.singleStep=e}function C(t,e){if(!i(e))throw new Error(\"noUiSlider (14.6.0): 'keyboardPageMultiplier' is not numeric.\");t.keyboardPageMultiplier=e}function P(t,e){if(!i(e))throw new Error(\"noUiSlider (14.6.0): 'keyboardDefaultStep' is not numeric.\");t.keyboardDefaultStep=e}function N(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider (14.6.0): 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider (14.6.0): Missing 'min' or 'max' in 'range'.\");if(e.min===e.max)throw new Error(\"noUiSlider (14.6.0): 'range' 'min' and 'max' cannot be equal.\");t.spectrum=new x(e,t.snap,t.singleStep)}function k(t,e){if(e=a(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider (14.6.0): 'start' option is incorrect.\");t.handles=e.length,t.start=e}function U(t,e){if(t.snap=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'snap' option must be a boolean.\")}function A(t,e){if(t.animate=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'animate' option must be a boolean.\")}function V(t,e){if(t.animationDuration=e,\"number\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'animationDuration' option must be a number.\")}function D(t,e){var r,n=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r1)throw new Error(\"noUiSlider (14.6.0): 'padding' option must not exceed 100% of the range.\")}}function H(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider (14.6.0): 'direction' option was not recognized.\")}}function j(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'behaviour' must be a string containing options.\");var r=e.indexOf(\"tap\")>=0,n=e.indexOf(\"drag\")>=0,i=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0,a=e.indexOf(\"unconstrained\")>=0;if(i){if(2!==t.handles)throw new Error(\"noUiSlider (14.6.0): 'fixed' behaviour must be used with 2 handles\");O(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error(\"noUiSlider (14.6.0): 'unconstrained' behaviour cannot be used with margin or limit\");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function F(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var r=0;r0&&((a=M(i,!1)).className=c(s,r.cssClasses.value),a.setAttribute(\"data-value\",o),a.style[r.style]=t+\"%\",a.innerHTML=n.to(o))}}(o,t[o][0],t[o][1])})),i}function B(){h&&(e(h),h=null)}function q(t){B();var e=t.mode,r=t.density||1,n=t.filter||!1,i=function(t,e,r){if(\"range\"===t||\"steps\"===t)return y.xVal;if(\"count\"===t){if(e<2)throw new Error(\"noUiSlider (14.6.0): 'values' (>= 2) required for mode 'count'.\");var n=e-1,i=100/n;for(e=[];n--;)e[n]=n*i;e.push(100),t=\"positions\"}return\"positions\"===t?e.map((function(t){return y.fromStepping(r?y.getStep(t):t)})):\"values\"===t?r?e.map((function(t){return y.fromStepping(y.getStep(y.toStepping(t)))})):e:void 0}(e,t.values||!1,t.stepped||!1),o=function(t,e,r){var n,i={},o=y.xVal[0],s=y.xVal[y.xVal.length-1],a=!1,l=!1,u=0;return n=r.slice().sort((function(t,e){return t-e})),(r=n.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(r.unshift(o),a=!0),r[r.length-1]!==s&&(r.push(s),l=!0),r.forEach((function(n,o){var s,c,p,f,d,h,m,g,v,b,x=n,S=r[o+1],w=\"steps\"===e;if(w&&(s=y.xNumSteps[o]),s||(s=S-x),!1!==x&&void 0!==S)for(s=Math.max(s,1e-7),c=x;c<=S;c=(c+s).toFixed(7)/1){for(g=(d=(f=y.toStepping(c))-u)/t,b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[y.fromStepping(h),0];m=r.indexOf(c)>-1?1:w?2:0,!o&&a&&c!==S&&(m=0),c===S&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}(r,e,i),s=t.format||{to:Math.round};return h=w.appendChild(T(o,n,s))}function X(){var t=l.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||l[e]:t.height||l[e]}function _(t,e,n,i){var o=function(o){return!!(o=function(t,e,r){var n,i,o=0===t.type.indexOf(\"touch\"),s=0===t.type.indexOf(\"mouse\"),a=0===t.type.indexOf(\"pointer\");if(0===t.type.indexOf(\"MSPointer\")&&(a=!0),o){var l=function(t){return t.target===r||r.contains(t.target)||t.target.shadowRoot&&t.target.shadowRoot.contains(r)};if(\"touchstart\"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;n=u[0].pageX,i=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;n=c.pageX,i=c.pageY}}return e=e||p(U),(s||a)&&(n=t.clientX+e.x,i=t.clientY+e.y),t.pageOffset=e,t.points=[n,i],t.cursor=s||a,t}(o,i.pageOffset,i.target||e))&&!(H()&&!i.doNotReject)&&(s=w,a=r.cssClasses.tap,!((s.classList?s.classList.contains(a):new RegExp(\"\\\\b\"+a+\"\\\\b\").test(s.className))&&!i.doNotReject)&&!(t===x.start&&void 0!==o.buttons&&o.buttons>1)&&(!i.hover||!o.buttons)&&(S||o.preventDefault(),o.calcPoint=o.points[r.ort],void n(o,i)));var s,a},s=[];return t.split(\" \").forEach((function(t){e.addEventListener(t,o,!!S&&{passive:!0}),s.push([t,o])})),s}function I(t){var e,n,i,o,a,u,c=100*(t-(e=l,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,a=o.documentElement,u=p(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(u.x=0),n?i.top+u.y-a.clientTop:i.left+u.x-a.clientLeft))/X();return c=s(c),r.dir?100-c:c}function W(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&G(t,e)}function $(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return G(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);it(n>0,100*n/e.baseSize,e.locations,e.handleNumbers)}function G(t,e){e.handle&&(c(e.handle,r.cssClasses.active),N-=1),e.listeners.forEach((function(t){A.removeEventListener(t[0],t[1])})),0===N&&(c(w,r.cssClasses.drag),st(),t.cursor&&(V.style.cursor=\"\",V.removeEventListener(\"selectstart\",n))),e.handleNumbers.forEach((function(t){et(\"change\",t),et(\"set\",t),et(\"end\",t)}))}function J(t,e){if(e.handleNumbers.some(j))return!1;var i;1===e.handleNumbers.length&&(i=f[e.handleNumbers[0]].children[0],N+=1,u(i,r.cssClasses.active)),t.stopPropagation();var o=[],s=_(x.move,A,$,{target:t.target,handle:i,listeners:o,startCalcPoint:t.calcPoint,baseSize:X(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:C.slice()}),a=_(x.end,A,G,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers}),l=_(\"mouseout\",A,W,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers});o.push.apply(o,s.concat(a,l)),t.cursor&&(V.style.cursor=getComputedStyle(t.target).cursor,f.length>1&&u(w,r.cssClasses.drag),V.addEventListener(\"selectstart\",n,!1)),e.handleNumbers.forEach((function(t){et(\"start\",t)}))}function K(t){if(!t.buttons&&!t.touches)return!1;t.stopPropagation();var e=I(t.calcPoint),n=function(t){var e=100,r=!1;return f.forEach((function(n,i){if(!j(i)){var o=C[i],s=Math.abs(o-t);(so||100===s&&100===e)&&(r=i,e=s)}})),r}(e);if(!1===n)return!1;r.events.snap||o(w,r.cssClasses.tap,r.animationDuration),at(n,e,!0,!0),st(),et(\"slide\",n,!0),et(\"update\",n,!0),et(\"change\",n,!0),et(\"set\",n,!0),r.events.snap&&J(t,{handleNumbers:[n]})}function Q(t){var e=I(t.calcPoint),r=y.getStep(e),n=y.fromStepping(r);Object.keys(k).forEach((function(t){\"hover\"===t.split(\".\")[0]&&k[t].forEach((function(t){t.call(g,n)}))}))}function Z(t,e){k[t]=k[t]||[],k[t].push(e),\"update\"===t.split(\".\")[0]&&f.forEach((function(t,e){et(\"update\",e)}))}function tt(t){var e=t&&t.split(\".\")[0],r=e&&t.substring(e.length);Object.keys(k).forEach((function(t){var n=t.split(\".\")[0],i=t.substring(n.length);e&&e!==n||r&&r!==i||delete k[t]}))}function et(t,e,n){Object.keys(k).forEach((function(i){var o=i.split(\".\")[0];t===o&&k[i].forEach((function(t){t.call(g,E.map(r.format.to),e,E.slice(),n||!1,C.slice(),g)}))}))}function rt(t,e,n,i,o,a){var l;return f.length>1&&!r.events.unconstrained&&(i&&e>0&&(l=y.getAbsoluteDistance(t[e-1],r.margin,0),n=Math.max(n,l)),o&&e1&&r.limit&&(i&&e>0&&(l=y.getAbsoluteDistance(t[e-1],r.limit,0),n=Math.min(n,l)),o&&e1?n.forEach((function(t,r){var n=rt(i,t,i[t]+e,o[r],s[r],!1);!1===n?e=0:(e=n-i[t],i[t]=n)})):o=s=[!0];var a=!1;n.forEach((function(t,n){a=at(t,r[t]+e,o[n],s[n])||a})),a&&n.forEach((function(t){et(\"update\",t),et(\"slide\",t)}))}function ot(t,e){return r.dir?100-t-e:t}function st(){P.forEach((function(t){var e=C[t]>50?-1:1,r=3+(f.length+e*t);f[t].style.zIndex=r}))}function at(t,e,n,i){return!1!==(e=rt(C,t,e,n,i,!1))&&(function(t,e){C[t]=e,E[t]=y.fromStepping(e);var n=\"translate(\"+nt(10*(ot(e,0)-D)+\"%\",\"0\")+\")\";f[t].style[r.transformRule]=n,lt(t),lt(t+1)}(t,e),!0)}function lt(t){if(d[t]){var e=0,n=100;0!==t&&(e=C[t-1]),t!==d.length-1&&(n=C[t]);var i=n-e,o=\"translate(\"+nt(ot(e,i)+\"%\",\"0\")+\")\",s=\"scale(\"+nt(i/100,\"1\")+\")\";d[t].style[r.transformRule]=o+\" \"+s}}function ut(t,e){return null===t||!1===t||void 0===t?C[e]:(\"number\"==typeof t&&(t=String(t)),t=r.format.from(t),!1===(t=y.toStepping(t))||isNaN(t)?C[e]:t)}function ct(t,e){var n=a(t),i=void 0===C[0];e=void 0===e||!!e,r.animate&&!i&&o(w,r.cssClasses.tap,r.animationDuration),P.forEach((function(t){at(t,ut(n[t],t),!0,!1)}));for(var s=1===P.length?0:1;sn.stepAfter.startValue&&(o=n.stepAfter.startValue-i),s=i>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&i-n.stepBefore.highestStep,100===e?o=null:0===e&&(s=null);var a=y.countStepDecimals();return null!==o&&!1!==o&&(o=Number(o.toFixed(a))),null!==s&&!1!==s&&(s=Number(s.toFixed(a))),[s,o]}return u(v=w,r.cssClasses.target),0===r.dir?u(v,r.cssClasses.ltr):u(v,r.cssClasses.rtl),0===r.ort?u(v,r.cssClasses.horizontal):u(v,r.cssClasses.vertical),u(v,\"rtl\"===getComputedStyle(v).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),l=M(v,r.cssClasses.base),function(t,e){var n=M(e,r.cssClasses.connects);f=[],(d=[]).push(L(n,t[0]));for(var i=0;i=0&&t .noUi-tooltip {\\n -webkit-transform: translate(50%, 0);\\n transform: translate(50%, 0);\\n left: auto;\\n bottom: 10px;\\n}\\n.bk-root .noUi-vertical .noUi-origin > .noUi-tooltip {\\n -webkit-transform: translate(0, -18px);\\n transform: translate(0, -18px);\\n top: auto;\\n right: 28px;\\n}\\n.bk-root .noUi-handle {\\n cursor: grab;\\n cursor: -webkit-grab;\\n}\\n.bk-root .noUi-handle.noUi-active {\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n}\\n.bk-root .noUi-handle:after,\\n.bk-root .noUi-handle:before {\\n display: none;\\n}\\n.bk-root .noUi-tooltip {\\n display: none;\\n white-space: nowrap;\\n}\\n.bk-root .noUi-handle:hover .noUi-tooltip {\\n display: block;\\n}\\n.bk-root .noUi-horizontal {\\n width: 100%;\\n height: 10px;\\n}\\n.bk-root .noUi-vertical {\\n width: 10px;\\n height: 100%;\\n}\\n.bk-root .noUi-horizontal .noUi-handle {\\n width: 14px;\\n height: 18px;\\n right: -7px;\\n top: -5px;\\n}\\n.bk-root .noUi-vertical .noUi-handle {\\n width: 18px;\\n height: 14px;\\n right: -5px;\\n top: -7px;\\n}\\n.bk-root .noUi-target.noUi-horizontal {\\n margin: 5px 0px;\\n}\\n.bk-root .noUi-target.noUi-vertical {\\n margin: 0px 5px;\\n}\\n\"},\n", + " 427: function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default=\"\\n.bk-root .bk-slider-title {\\n white-space: nowrap;\\n}\\n.bk-root .bk-slider-value {\\n font-weight: 600;\\n}\\n\"},\n", + " 428: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1).__importDefault(e(186)),a=e(423);class d extends a.AbstractSliderView{}i.DateSliderView=d,d.__name__=\"DateSliderView\";class s extends a.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}static init_DateSlider(){this.prototype.default_view=d,this.override({format:\"%d %b %Y\"})}_formatter(e,t){return r.default(e,t)}}i.DateSlider=s,s.__name__=\"DateSlider\",s.init_DateSlider()},\n", + " 429: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1),_=e(430),n=r.__importStar(e(18));class s extends _.MarkupView{render(){super.render(),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.model.text}}i.DivView=s,s.__name__=\"DivView\";class a extends _.Markup{constructor(e){super(e)}static init_Div(){this.prototype.default_view=s,this.define({render_as_text:[n.Boolean,!1]})}}i.Div=a,a.__name__=\"Div\",a.init_Div()},\n", + " 430: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),a=e(217),n=e(72),l=i.__importStar(e(18)),r=e(472),_=e(431),c=i.__importDefault(e(432));class u extends r.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>{this.layout.invalidate_cache(),this.render(),this.root.compute_layout()})}styles(){return[...super.styles(),c.default]}_update_layout(){this.layout=new a.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render();const e=Object.assign(Object.assign({},this.model.style),{display:\"inline-block\"});this.markup_el=n.div({class:_.bk_clearfix,style:e}),this.el.appendChild(this.markup_el)}}s.MarkupView=u,u.__name__=\"MarkupView\";class o extends r.Widget{constructor(e){super(e)}static init_Markup(){this.define({text:[l.String,\"\"],style:[l.Any,{}]})}}s.Markup=o,o.__name__=\"Markup\",o.init_Markup()},\n", + " 431: function _(e,c,f){Object.defineProperty(f,\"__esModule\",{value:!0}),f.bk_clearfix=\"bk-clearfix\"},\n", + " 432: function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root .bk-clearfix:before,\\n.bk-root .bk-clearfix:after {\\n content: \"\";\\n display: table;\\n}\\n.bk-root .bk-clearfix:after {\\n clear: both;\\n}\\n'},\n", + " 433: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(404),o=e(313),_=e(72),d=n.__importStar(e(18)),l=e(8),r=e(173),u=e(281),c=e(282),h=n.__importDefault(e(284));class p extends s.AbstractButtonView{constructor(){super(...arguments),this._open=!1}styles(){return[...super.styles(),h.default]}render(){super.render();const e=_.div({class:[c.bk_caret,r.bk_down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(u.bk_dropdown_toggle),t.addEventListener(\"click\",()=>this._toggle_menu()),this.group_el.appendChild(t)}else this.button_el.appendChild(e);const t=this.model.menu.map((e,t)=>{if(null==e)return _.div({class:c.bk_divider});{const i=l.isString(e)?e:e[0],n=_.div({},i);return n.addEventListener(\"click\",()=>this._item_click(t)),n}});this.menu=_.div({class:[c.bk_menu,r.bk_below]},t),this.el.appendChild(this.menu),_.undisplay(this.menu)}_show_menu(){if(!this._open){this._open=!0,_.display(this.menu);const e=t=>{const{target:i}=t;i instanceof HTMLElement&&!this.el.contains(i)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,_.undisplay(this.menu))}_toggle_menu(){this._open?this._hide_menu():this._show_menu()}click(){this.model.is_split?(this._hide_menu(),this.model.trigger_event(new o.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=l.isString(t)?t:t[1];l.isString(i)?this.model.trigger_event(new o.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=p,p.__name__=\"DropdownView\";class m extends s.AbstractButton{constructor(e){super(e)}static init_Dropdown(){this.prototype.default_view=p,this.define({split:[d.Boolean,!1],menu:[d.Array,[]]}),this.override({label:\"Dropdown\"})}get is_split(){return this.split}}i.Dropdown=m,m.__name__=\"Dropdown\",m.init_Dropdown()},\n", + " 434: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const l=e(1).__importStar(e(18)),s=e(472);class n extends s.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render()),this.connect(this.model.properties.width.change,()=>this.render())}render(){null==this.dialogEl&&(this.dialogEl=document.createElement(\"input\"),this.dialogEl.type=\"file\",this.dialogEl.multiple=this.model.multiple,this.dialogEl.onchange=()=>{const{files:e}=this.dialogEl;null!=e&&this.load_files(e)},this.el.appendChild(this.dialogEl)),null!=this.model.accept&&\"\"!=this.model.accept&&(this.dialogEl.accept=this.model.accept),this.dialogEl.style.width=\"{this.model.width}px\",this.dialogEl.disabled=this.model.disabled}async load_files(e){const t=[],i=[],l=[];let s;for(s=0;s{const l=new FileReader;l.onload=()=>{var s;const{result:n}=l;null!=n?t(n):i(null!==(s=l.error)&&void 0!==s?s:new Error(`unable to read '${e.name}'`))},l.readAsDataURL(e)})}}i.FileInputView=n,n.__name__=\"FileInputView\";class o extends s.Widget{constructor(e){super(e)}static init_FileInput(){this.prototype.default_view=n,this.define({value:[l.Any,\"\"],mime_type:[l.Any,\"\"],filename:[l.Any,\"\"],accept:[l.String,\"\"],multiple:[l.Boolean,!1]})}}i.FileInput=o,o.__name__=\"FileInput\",o.init_FileInput()},\n", + " 435: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),n=e(72),l=e(8),o=i.__importStar(e(18)),c=e(410),r=e(412);class h extends c.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.value.change,()=>this.render_selection()),this.connect(this.model.properties.options.change,()=>this.render()),this.connect(this.model.properties.name.change,()=>this.render()),this.connect(this.model.properties.title.change,()=>this.render()),this.connect(this.model.properties.size.change,()=>this.render()),this.connect(this.model.properties.disabled.change,()=>this.render())}render(){super.render();const e=this.model.options.map(e=>{let t,s;return l.isString(e)?t=s=e:[t,s]=e,n.option({value:t},s)});this.select_el=n.select({multiple:!0,class:r.bk_input,name:this.model.name,disabled:this.model.disabled},e),this.select_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.select_el),this.render_selection()}render_selection(){const e=new Set(this.model.value);for(const t of this.el.querySelectorAll(\"option\"))t.selected=e.has(t.value);this.select_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.select_el.focus()}}s.MultiSelectView=h,h.__name__=\"MultiSelectView\";class d extends c.InputWidget{constructor(e){super(e)}static init_MultiSelect(){this.prototype.default_view=h,this.define({value:[o.Array,[]],options:[o.Array,[]],size:[o.Number,4]})}}s.MultiSelect=d,d.__name__=\"MultiSelect\",d.init_MultiSelect()},\n", + " 436: function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const t=a(430),p=a(72);class s extends t.MarkupView{render(){super.render();const a=p.p({style:{margin:0}},this.model.text);this.markup_el.appendChild(a)}}r.ParagraphView=s,s.__name__=\"ParagraphView\";class i extends t.Markup{constructor(a){super(a)}static init_Paragraph(){this.prototype.default_view=s}}r.Paragraph=i,i.__name__=\"Paragraph\",i.init_Paragraph()},\n", + " 437: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(409);class r extends n.TextInputView{render(){super.render(),this.input_el.type=\"password\"}}s.PasswordInputView=r,r.__name__=\"PasswordInputView\";class p extends n.TextInput{constructor(e){super(e)}static init_PasswordInput(){this.prototype.default_view=r}}s.PasswordInput=p,p.__name__=\"PasswordInput\",p.init_PasswordInput()},\n", + " 438: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const l=e(1),s=l.__importDefault(e(439)),o=e(72),n=e(8),h=e(217),a=l.__importStar(e(18)),c=e(412),u=l.__importDefault(e(440)),d=e(410);class _ extends d.InputWidgetView{constructor(){super(...arguments),this._last_height=null}connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled.change,()=>this.set_disabled());const{value:e,max_items:t,option_limit:i,delete_button:l,placeholder:s,options:o,name:n,title:h}=this.model.properties;this.on_change([e,t,i,l,s,o,n,h],()=>this.render())}styles(){return[...super.styles(),u.default]}_update_layout(){this.layout=new h.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render(),this.select_el=o.select({multiple:!0,class:c.bk_input,name:this.model.name,disabled:this.model.disabled}),this.group_el.appendChild(this.select_el);const e=new Set(this.model.value),t=this.model.options.map(t=>{let i,l;return n.isString(t)?i=l=t:[i,l]=t,{value:i,label:l,selected:e.has(i)}}),i=this.model.solid?\"solid\":\"light\",l=\"choices__item \"+i,h=\"choices__button \"+i,a={choices:t,duplicateItemsAllowed:!1,removeItemButton:this.model.delete_button,classNames:{item:l,button:h}};null!=this.model.placeholder&&(a.placeholderValue=this.model.placeholder),null!=this.model.max_items&&(a.maxItemCount=this.model.max_items),null!=this.model.option_limit&&(a.renderChoiceLimit=this.model.option_limit),this.choice_el=new s.default(this.select_el,a);const u=()=>this.choice_el.containerOuter.element.getBoundingClientRect().height;null!=this._last_height&&this._last_height!=u()&&this.root.invalidate_layout(),this._last_height=u(),this.select_el.addEventListener(\"change\",()=>this.change_input())}set_disabled(){this.model.disabled?this.choice_el.disable():this.choice_el.enable()}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.select_el.focus()}}i.MultiChoiceView=_,_.__name__=\"MultiChoiceView\";class r extends d.InputWidget{constructor(e){super(e)}static init_MultiChoice(){this.prototype.default_view=_,this.define({value:[a.Array,[]],options:[a.Array,[]],max_items:[a.Number,null],delete_button:[a.Boolean,!0],placeholder:[a.String,null],option_limit:[a.Number,null],solid:[a.Boolean,!0]})}}i.MultiChoice=r,r.__name__=\"MultiChoice\",r.init_MultiChoice()},\n", + " 439: function _(e,t,i){\n", + " /*! choices.js v9.0.1 | © 2019 Josh Johnson | https://github.com/jshjohnson/Choices#readme */\n", + " var n,s;n=window,s=function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/public/assets/scripts/\",i(i.s=4)}([function(e,t,i){\"use strict\";var n=function(e){return function(e){return!!e&&\"object\"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return\"[object RegExp]\"===t||\"[object Date]\"===t||function(e){return e.$$typeof===s}(e)}(e)},s=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function o(e,t,i){return e.concat(t).map((function(e){return r(e,i)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function c(e,t,i){var n={};return i.isMergeableObject(e)&&a(e).forEach((function(t){n[t]=r(e[t],i)})),a(t).forEach((function(s){(function(e,t){try{return t in e&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}catch(e){return!1}})(e,s)||(i.isMergeableObject(t[s])&&e[s]?n[s]=function(e,t){if(!t.customMerge)return l;var i=t.customMerge(e);return\"function\"==typeof i?i:l}(s,i)(e[s],t[s],i):n[s]=r(t[s],i))})),n}function l(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||o,i.isMergeableObject=i.isMergeableObject||n,i.cloneUnlessOtherwiseSpecified=r;var s=Array.isArray(t);return s===Array.isArray(e)?s?i.arrayMerge(e,t,i):c(e,t,i):r(t,i)}l.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce((function(e,i){return l(e,i,t)}),{})};var h=l;e.exports=h},function(e,t,i){\"use strict\";(function(e,n){var s,r=i(3);s=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==e?e:n;var o=Object(r.a)(s);t.a=o}).call(this,i(5),i(6)(e))},function(e,t,i){\n", + " /*!\n", + " * Fuse.js v3.4.5 - Lightweight fuzzy-search (http://fusejs.io)\n", + " *\n", + " * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)\n", + " * All Rights Reserved. Apache Software License 2.0\n", + " *\n", + " * http://www.apache.org/licenses/LICENSE-2.0\n", + " */\n", + " e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=1)}([function(e,t){e.exports=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)}},function(e,t,i){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{limit:!1};this._log('---------\\nSearch pattern: \"'.concat(e,'\"'));var i=this._prepareSearchers(e),n=i.tokenSearchers,s=i.fullSearcher,r=this._search(n,s),o=r.weights,a=r.results;return this._computeScore(o,a),this.options.shouldSort&&this._sort(a),t.limit&&\"number\"==typeof t.limit&&(a=a.slice(0,t.limit)),this._format(a)}},{key:\"_prepareSearchers\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=[];if(this.options.tokenize)for(var i=e.split(this.options.tokenSeparator),n=0,s=i.length;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,i=this.list,n={},s=[];if(\"string\"==typeof i[0]){for(var r=0,o=i.length;r1)throw new Error(\"Key weight has to be > 0 and <= 1\");p=p.name}else a[p]={weight:1};this._analyze({key:p,value:this.options.getFn(h,p),record:h,index:c},{resultMap:n,results:s,tokenSearchers:e,fullSearcher:t})}return{weights:a,results:s}}},{key:\"_analyze\",value:function(e,t){var i=e.key,n=e.arrayIndex,s=void 0===n?-1:n,r=e.value,o=e.record,c=e.index,l=t.tokenSearchers,h=void 0===l?[]:l,u=t.fullSearcher,d=void 0===u?[]:u,p=t.resultMap,m=void 0===p?{}:p,f=t.results,v=void 0===f?[]:f;if(null!=r){var g=!1,_=-1,b=0;if(\"string\"==typeof r){this._log(\"\\nKey: \".concat(\"\"===i?\"-\":i));var y=d.search(r);if(this._log('Full text: \"'.concat(r,'\", score: ').concat(y.score)),this.options.tokenize){for(var E=r.split(this.options.tokenSeparator),I=[],S=0;S-1&&(P=(P+_)/2),this._log(\"Score average:\",P);var D=!this.options.tokenize||!this.options.matchAllTokens||b>=h.length;if(this._log(\"\\nCheck Matches: \".concat(D)),(g||y.isMatch)&&D){var M=m[c];M?M.output.push({key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}):(m[c]={item:o,output:[{key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}]},v.push(m[c]))}}else if(a(r))for(var N=0,F=r.length;N-1&&(o.arrayIndex=r.arrayIndex),t.matches.push(o)}}})),this.options.includeScore&&s.push((function(e,t){t.score=e.score}));for(var r=0,o=e.length;ri)return s(e,this.pattern,n);var o=this.options,a=o.location,c=o.distance,l=o.threshold,h=o.findAllMatches,u=o.minMatchCharLength;return r(e,this.pattern,this.patternAlphabet,{location:a,distance:c,threshold:l,findAllMatches:h,minMatchCharLength:u})}}])&&n(t.prototype,i),e}();e.exports=a},function(e,t){var i=/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;e.exports=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,s=new RegExp(t.replace(i,\"\\\\$&\").replace(n,\"|\")),r=e.match(s),o=!!r,a=[];if(o)for(var c=0,l=r.length;c=P;N-=1){var F=N-1,j=i[e.charAt(F)];if(j&&(E[F]=1),M[N]=(M[N+1]<<1|1)&j,0!==T&&(M[N]|=(O[N+1]|O[N])<<1|1|O[N+1]),M[N]&L&&(C=n(t,{errors:T,currentLocation:F,expectedLocation:v,distance:l}))<=_){if(_=C,(b=F)<=v)break;P=Math.max(1,2*v-b)}}if(n(t,{errors:T+1,currentLocation:v,expectedLocation:v,distance:l})>_)break;O=M}return{isMatch:b>=0,score:0===C?.001:C,matchedIndices:s(E,f)}}},function(e,t){e.exports=function(e,t){var i=t.errors,n=void 0===i?0:i,s=t.currentLocation,r=void 0===s?0:s,o=t.expectedLocation,a=void 0===o?0:o,c=t.distance,l=void 0===c?100:c,h=n/e.length,u=Math.abs(a-r);return l?h+u/l:u?1:h}},function(e,t){e.exports=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=[],n=-1,s=-1,r=0,o=e.length;r=t&&i.push([n,s]),n=-1)}return e[r-1]&&r-n>=t&&i.push([n,r-1]),i}},function(e,t){e.exports=function(e){for(var t={},i=e.length,n=0;n/g,\"&rt;\").replace(/-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!0),i})):e;case\"REMOVE_ITEM\":return t.choiceId>-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!1),i})):e;case\"FILTER_CHOICES\":return e.map((function(e){var i=e;return i.active=t.results.some((function(e){var t=e.item,n=e.score;return t.id===i.id&&(i.score=n,!0)})),i}));case\"ACTIVATE_CHOICES\":return e.map((function(e){var i=e;return i.active=t.active,i}));case\"CLEAR_CHOICES\":return v;default:return e}},general:_}),A=function(e,t){var i=e;if(\"CLEAR_ALL\"===t.type)i=void 0;else if(\"RESET_TO\"===t.type)return O(t.state);return C(i,t)};function L(e,t){for(var i=0;i\"'+I(e)+'\"'},maxItemText:function(e){return\"Only \"+e+\" values can be added\"},valueComparer:function(e,t){return e===t},fuseOptions:{includeScore:!0},callbackOnInit:null,callbackOnCreateTemplates:null,classNames:{containerOuter:\"choices\",containerInner:\"choices__inner\",input:\"choices__input\",inputCloned:\"choices__input--cloned\",list:\"choices__list\",listItems:\"choices__list--multiple\",listSingle:\"choices__list--single\",listDropdown:\"choices__list--dropdown\",item:\"choices__item\",itemSelectable:\"choices__item--selectable\",itemDisabled:\"choices__item--disabled\",itemChoice:\"choices__item--choice\",placeholder:\"choices__placeholder\",group:\"choices__group\",groupHeading:\"choices__heading\",button:\"choices__button\",activeState:\"is-active\",focusState:\"is-focused\",openState:\"is-open\",disabledState:\"is-disabled\",highlightedState:\"is-highlighted\",selectedState:\"is-selected\",flippedState:\"is-flipped\",loadingState:\"is-loading\",noResults:\"has-no-results\",noChoices:\"has-no-choices\"}},D=\"showDropdown\",M=\"hideDropdown\",N=\"change\",F=\"choice\",j=\"search\",K=\"addItem\",R=\"removeItem\",H=\"highlightItem\",B=\"highlightChoice\",V=\"ADD_CHOICE\",G=\"FILTER_CHOICES\",q=\"ACTIVATE_CHOICES\",U=\"CLEAR_CHOICES\",z=\"ADD_GROUP\",W=\"ADD_ITEM\",X=\"REMOVE_ITEM\",$=\"HIGHLIGHT_ITEM\",J=46,Y=8,Z=13,Q=65,ee=27,te=38,ie=40,ne=33,se=34,re=function(){function e(e){var t=e.element,i=e.type,n=e.classNames,s=e.position;this.element=t,this.classNames=n,this.type=i,this.position=s,this.isOpen=!1,this.isFlipped=!1,this.isFocussed=!1,this.isDisabled=!1,this.isLoading=!1,this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var t=e.prototype;return t.addEventListeners=function(){this.element.addEventListener(\"focus\",this._onFocus),this.element.addEventListener(\"blur\",this._onBlur)},t.removeEventListeners=function(){this.element.removeEventListener(\"focus\",this._onFocus),this.element.removeEventListener(\"blur\",this._onBlur)},t.shouldFlip=function(e){if(\"number\"!=typeof e)return!1;var t=!1;return\"auto\"===this.position?t=!window.matchMedia(\"(min-height: \"+(e+1)+\"px)\").matches:\"top\"===this.position&&(t=!0),t},t.setActiveDescendant=function(e){this.element.setAttribute(\"aria-activedescendant\",e)},t.removeActiveDescendant=function(){this.element.removeAttribute(\"aria-activedescendant\")},t.open=function(e){this.element.classList.add(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"true\"),this.isOpen=!0,this.shouldFlip(e)&&(this.element.classList.add(this.classNames.flippedState),this.isFlipped=!0)},t.close=function(){this.element.classList.remove(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"false\"),this.removeActiveDescendant(),this.isOpen=!1,this.isFlipped&&(this.element.classList.remove(this.classNames.flippedState),this.isFlipped=!1)},t.focus=function(){this.isFocussed||this.element.focus()},t.addFocusState=function(){this.element.classList.add(this.classNames.focusState)},t.removeFocusState=function(){this.element.classList.remove(this.classNames.focusState)},t.enable=function(){this.element.classList.remove(this.classNames.disabledState),this.element.removeAttribute(\"aria-disabled\"),\"select-one\"===this.type&&this.element.setAttribute(\"tabindex\",\"0\"),this.isDisabled=!1},t.disable=function(){this.element.classList.add(this.classNames.disabledState),this.element.setAttribute(\"aria-disabled\",\"true\"),\"select-one\"===this.type&&this.element.setAttribute(\"tabindex\",\"-1\"),this.isDisabled=!0},t.wrap=function(e){!function(e,t){void 0===t&&(t=document.createElement(\"div\")),e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t.appendChild(e)}(e,this.element)},t.unwrap=function(e){this.element.parentNode.insertBefore(e,this.element),this.element.parentNode.removeChild(this.element)},t.addLoadingState=function(){this.element.classList.add(this.classNames.loadingState),this.element.setAttribute(\"aria-busy\",\"true\"),this.isLoading=!0},t.removeLoadingState=function(){this.element.classList.remove(this.classNames.loadingState),this.element.removeAttribute(\"aria-busy\"),this.isLoading=!1},t._onFocus=function(){this.isFocussed=!0},t._onBlur=function(){this.isFocussed=!1},e}();function oe(e,t){for(var i=0;i0?this.element.scrollTop+o-s:e.offsetTop;requestAnimationFrame((function(){i._animateScroll(a,t)}))}},t._scrollDown=function(e,t,i){var n=(i-e)/t,s=n>1?n:1;this.element.scrollTop=e+s},t._scrollUp=function(e,t,i){var n=(e-i)/t,s=n>1?n:1;this.element.scrollTop=e-s},t._animateScroll=function(e,t){var i=this,n=this.element.scrollTop,s=!1;t>0?(this._scrollDown(n,4,e),ne&&(s=!0)),s&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();function le(e,t){for(var i=0;i0?\"treeitem\":\"option\"),Object.assign(g.dataset,{choice:\"\",id:l,value:h,selectText:i}),m?(g.classList.add(a),g.dataset.choiceDisabled=\"\",g.setAttribute(\"aria-disabled\",\"true\")):(g.classList.add(r),g.dataset.choiceSelectable=\"\"),g},input:function(e,t){var i=e.input,n=e.inputCloned,s=Object.assign(document.createElement(\"input\"),{type:\"text\",className:i+\" \"+n,autocomplete:\"off\",autocapitalize:\"off\",spellcheck:!1});return s.setAttribute(\"role\",\"textbox\"),s.setAttribute(\"aria-autocomplete\",\"list\"),s.setAttribute(\"aria-label\",t),s},dropdown:function(e){var t=e.list,i=e.listDropdown,n=document.createElement(\"div\");return n.classList.add(t,i),n.setAttribute(\"aria-expanded\",\"false\"),n},notice:function(e,t,i){var n=e.item,s=e.itemChoice,r=e.noResults,o=e.noChoices;void 0===i&&(i=\"\");var a=[n,s];return\"no-choices\"===i?a.push(o):\"no-results\"===i&&a.push(r),Object.assign(document.createElement(\"div\"),{innerHTML:t,className:a.join(\" \")})},option:function(e){var t=e.label,i=e.value,n=e.customProperties,s=e.active,r=e.disabled,o=new Option(t,i,!1,s);return n&&(o.dataset.customProperties=n),o.disabled=r,o}},ve=function(e){return void 0===e&&(e=!0),{type:q,active:e}},ge=function(e,t){return{type:$,id:e,highlighted:t}},_e=function(e){var t=e.value,i=e.id,n=e.active,s=e.disabled;return{type:z,value:t,id:i,active:n,disabled:s}},be=function(e){return{type:\"SET_IS_LOADING\",isLoading:e}};function ye(e,t){for(var i=0;i=0?this._store.getGroupById(s):null;return this._store.dispatch(ge(i,!0)),t&&this.passedElement.triggerEvent(H,{id:i,value:o,label:c,groupValue:l&&l.value?l.value:null}),this},r.unhighlightItem=function(e){if(!e)return this;var t=e.id,i=e.groupId,n=void 0===i?-1:i,s=e.value,r=void 0===s?\"\":s,o=e.label,a=void 0===o?\"\":o,c=n>=0?this._store.getGroupById(n):null;return this._store.dispatch(ge(t,!1)),this.passedElement.triggerEvent(H,{id:t,value:r,label:a,groupValue:c&&c.value?c.value:null}),this},r.highlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.highlightItem(t)})),this},r.unhighlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.unhighlightItem(t)})),this},r.removeActiveItemsByValue=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.value===e})).forEach((function(e){return t._removeItem(e)})),this},r.removeActiveItems=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.id!==e})).forEach((function(e){return t._removeItem(e)})),this},r.removeHighlightedItems=function(e){var t=this;return void 0===e&&(e=!1),this._store.highlightedActiveItems.forEach((function(i){t._removeItem(i),e&&t._triggerChange(i.value)})),this},r.showDropdown=function(e){var t=this;return this.dropdown.isActive||requestAnimationFrame((function(){t.dropdown.show(),t.containerOuter.open(t.dropdown.distanceFromTopWindow),!e&&t._canSearch&&t.input.focus(),t.passedElement.triggerEvent(D,{})})),this},r.hideDropdown=function(e){var t=this;return this.dropdown.isActive?(requestAnimationFrame((function(){t.dropdown.hide(),t.containerOuter.close(),!e&&t._canSearch&&(t.input.removeActiveDescendant(),t.input.blur()),t.passedElement.triggerEvent(M,{})})),this):this},r.getValue=function(e){void 0===e&&(e=!1);var t=this._store.activeItems.reduce((function(t,i){var n=e?i.value:i;return t.push(n),t}),[]);return this._isSelectOneElement?t[0]:t},r.setValue=function(e){var t=this;return this.initialised?(e.forEach((function(e){return t._setChoiceOrItem(e)})),this):this},r.setChoiceByValue=function(e){var t=this;return!this.initialised||this._isTextElement||(Array.isArray(e)?e:[e]).forEach((function(e){return t._findAndSelectChoiceByValue(e)})),this},r.setChoices=function(e,t,i,n){var s=this;if(void 0===e&&(e=[]),void 0===t&&(t=\"value\"),void 0===i&&(i=\"label\"),void 0===n&&(n=!1),!this.initialised)throw new ReferenceError(\"setChoices was called on a non-initialized instance of Choices\");if(!this._isSelectElement)throw new TypeError(\"setChoices can't be used with INPUT based Choices\");if(\"string\"!=typeof t||!t)throw new TypeError(\"value parameter must be a name of 'value' field in passed objects\");if(n&&this.clearChoices(),\"function\"==typeof e){var r=e(this);if(\"function\"==typeof Promise&&r instanceof Promise)return new Promise((function(e){return requestAnimationFrame(e)})).then((function(){return s._handleLoadingState(!0)})).then((function(){return r})).then((function(e){return s.setChoices(e,t,i,n)})).catch((function(e){s.config.silent||console.error(e)})).then((function(){return s._handleLoadingState(!1)})).then((function(){return s}));if(!Array.isArray(r))throw new TypeError(\".setChoices first argument function must return either array of choices or Promise, got: \"+typeof r);return this.setChoices(r,t,i,!1)}if(!Array.isArray(e))throw new TypeError(\".setChoices must be called either with array of choices with a function resulting into Promise of array of choices\");return this.containerOuter.removeLoadingState(),this._startLoading(),e.forEach((function(e){e.choices?s._addGroup({id:parseInt(e.id,10)||null,group:e,valueKey:t,labelKey:i}):s._addChoice({value:e[t],label:e[i],isSelected:e.selected,isDisabled:e.disabled,customProperties:e.customProperties,placeholder:e.placeholder})})),this._stopLoading(),this},r.clearChoices=function(){return this._store.dispatch({type:U}),this},r.clearStore=function(){return this._store.dispatch({type:\"CLEAR_ALL\"}),this},r.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch(ve(!0))),this},r._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var e=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,t=this._isSelectElement,i=this._currentState.items!==this._prevState.items;e&&(t&&this._renderChoices(),i&&this._renderItems(),this._prevState=this._currentState)}},r._renderChoices=function(){var e=this,t=this._store,i=t.activeGroups,n=t.activeChoices,s=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame((function(){return e.choiceList.scrollToTop()})),i.length>=1&&!this._isSearching){var r=n.filter((function(e){return!0===e.placeholder&&-1===e.groupId}));r.length>=1&&(s=this._createChoicesFragment(r,s)),s=this._createGroupsFragment(i,n,s)}else n.length>=1&&(s=this._createChoicesFragment(n,s));if(s.childNodes&&s.childNodes.length>0){var o=this._store.activeItems,a=this._canAddItem(o,this.input.value);a.response?(this.choiceList.append(s),this._highlightChoice()):this.choiceList.append(this._getTemplate(\"notice\",a.notice))}else{var c,l;this._isSearching?(l=\"function\"==typeof this.config.noResultsText?this.config.noResultsText():this.config.noResultsText,c=this._getTemplate(\"notice\",l,\"no-results\")):(l=\"function\"==typeof this.config.noChoicesText?this.config.noChoicesText():this.config.noChoicesText,c=this._getTemplate(\"notice\",l,\"no-choices\")),this.choiceList.append(c)}},r._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},r._createGroupsFragment=function(e,t,i){var n=this;return void 0===i&&(i=document.createDocumentFragment()),this.config.shouldSort&&e.sort(this.config.sorter),e.forEach((function(e){var s=function(e){return t.filter((function(t){return n._isSelectOneElement?t.groupId===e.id:t.groupId===e.id&&(\"always\"===n.config.renderSelectedChoices||!t.selected)}))}(e);if(s.length>=1){var r=n._getTemplate(\"choiceGroup\",e);i.appendChild(r),n._createChoicesFragment(s,i,!0)}})),i},r._createChoicesFragment=function(e,t,i){var n=this;void 0===t&&(t=document.createDocumentFragment()),void 0===i&&(i=!1);var s=this.config,r=s.renderSelectedChoices,o=s.searchResultLimit,a=s.renderChoiceLimit,c=this._isSearching?w:this.config.sorter,l=function(e){if(\"auto\"!==r||n._isSelectOneElement||!e.selected){var i=n._getTemplate(\"choice\",e,n.config.itemSelectText);t.appendChild(i)}},h=e;\"auto\"!==r||this._isSelectOneElement||(h=e.filter((function(e){return!e.selected})));var u=h.reduce((function(e,t){return t.placeholder?e.placeholderChoices.push(t):e.normalChoices.push(t),e}),{placeholderChoices:[],normalChoices:[]}),d=u.placeholderChoices,p=u.normalChoices;(this.config.shouldSort||this._isSearching)&&p.sort(c);var m=h.length,f=this._isSelectOneElement?[].concat(d,p):p;this._isSearching?m=o:a&&a>0&&!i&&(m=a);for(var v=0;v=n){var o=s?this._searchChoices(e):0;this.passedElement.triggerEvent(j,{value:e,resultCount:o})}else r&&(this._isSearching=!1,this._store.dispatch(ve(!0)))}},r._canAddItem=function(e,t){var i=!0,n=\"function\"==typeof this.config.addItemText?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var s=function(e,t,i){return void 0===i&&(i=\"value\"),e.some((function(e){return\"string\"==typeof t?e[i]===t.trim():e[i]===t}))}(e,t);this.config.maxItemCount>0&&this.config.maxItemCount<=e.length&&(i=!1,n=\"function\"==typeof this.config.maxItemText?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&s&&i&&(i=!1,n=\"function\"==typeof this.config.uniqueItemText?this.config.uniqueItemText(t):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&i&&\"function\"==typeof this.config.addItemFilter&&!this.config.addItemFilter(t)&&(i=!1,n=\"function\"==typeof this.config.customAddItemText?this.config.customAddItemText(t):this.config.customAddItemText)}return{response:i,notice:n}},r._searchChoices=function(e){var t=\"string\"==typeof e?e.trim():e,i=\"string\"==typeof this._currentValue?this._currentValue.trim():this._currentValue;if(t.length<1&&t===i+\" \")return 0;var n=this._store.searchableChoices,r=t,o=[].concat(this.config.searchFields),a=Object.assign(this.config.fuseOptions,{keys:o}),c=new s.a(n,a).search(r);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch(function(e){return{type:G,results:e}}(c)),c.length},r._addEventListeners=function(){var e=document.documentElement;e.addEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.addEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.addEventListener(\"mousedown\",this._onMouseDown,!0),e.addEventListener(\"click\",this._onClick,{passive:!0}),e.addEventListener(\"touchmove\",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener(\"mouseover\",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener(\"blur\",this._onBlur,{passive:!0})),this.input.element.addEventListener(\"keyup\",this._onKeyUp,{passive:!0}),this.input.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.input.element.addEventListener(\"blur\",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener(\"reset\",this._onFormReset,{passive:!0}),this.input.addEventListeners()},r._removeEventListeners=function(){var e=document.documentElement;e.removeEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.removeEventListener(\"mousedown\",this._onMouseDown,!0),e.removeEventListener(\"click\",this._onClick),e.removeEventListener(\"touchmove\",this._onTouchMove),this.dropdown.element.removeEventListener(\"mouseover\",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener(\"focus\",this._onFocus),this.containerOuter.element.removeEventListener(\"blur\",this._onBlur)),this.input.element.removeEventListener(\"keyup\",this._onKeyUp),this.input.element.removeEventListener(\"focus\",this._onFocus),this.input.element.removeEventListener(\"blur\",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener(\"reset\",this._onFormReset),this.input.removeEventListeners()},r._onKeyDown=function(e){var t,i=e.target,n=e.keyCode,s=e.ctrlKey,r=e.metaKey,o=this._store.activeItems,a=this.input.isFocussed,c=this.dropdown.isActive,l=this.itemList.hasChildren(),h=String.fromCharCode(n),u=J,d=Y,p=Z,m=Q,f=ee,v=te,g=ie,_=ne,b=se,y=s||r;!this._isTextElement&&/[a-zA-Z0-9-_ ]/.test(h)&&this.showDropdown();var E=((t={})[m]=this._onAKey,t[p]=this._onEnterKey,t[f]=this._onEscapeKey,t[v]=this._onDirectionKey,t[_]=this._onDirectionKey,t[g]=this._onDirectionKey,t[b]=this._onDirectionKey,t[d]=this._onDeleteKey,t[u]=this._onDeleteKey,t);E[n]&&E[n]({event:e,target:i,keyCode:n,metaKey:r,activeItems:o,hasFocusedInput:a,hasActiveDropdown:c,hasItems:l,hasCtrlDownKeyPressed:y})},r._onKeyUp=function(e){var t=e.target,i=e.keyCode,n=this.input.value,s=this._store.activeItems,r=this._canAddItem(s,n),o=J,a=Y;if(this._isTextElement)if(r.notice&&n){var c=this._getTemplate(\"notice\",r.notice);this.dropdown.element.innerHTML=c.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0);else{var l=(i===o||i===a)&&!t.value,h=!this._isTextElement&&this._isSearching,u=this._canSearch&&r.response;l&&h?(this._isSearching=!1,this._store.dispatch(ve(!0))):u&&this._handleSearch(this.input.value)}this._canSearch=this.config.searchEnabled},r._onAKey=function(e){var t=e.hasItems;e.hasCtrlDownKeyPressed&&t&&(this._canSearch=!1,this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement&&this.highlightAll())},r._onEnterKey=function(e){var t=e.event,i=e.target,n=e.activeItems,s=e.hasActiveDropdown,r=Z,o=i.hasAttribute(\"data-button\");if(this._isTextElement&&i.value){var a=this.input.value;this._canAddItem(n,a).response&&(this.hideDropdown(!0),this._addItem({value:a}),this._triggerChange(a),this.clearInput())}if(o&&(this._handleButtonAction(n,i),t.preventDefault()),s){var c=this.dropdown.getChild(\".\"+this.config.classNames.highlightedState);c&&(n[0]&&(n[0].keyCode=r),this._handleChoiceAction(n,c)),t.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),t.preventDefault())},r._onEscapeKey=function(e){e.hasActiveDropdown&&(this.hideDropdown(!0),this.containerOuter.focus())},r._onDirectionKey=function(e){var t,i,n,s=e.event,r=e.hasActiveDropdown,o=e.keyCode,a=e.metaKey,c=ie,l=ne,h=se;if(r||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var u,d=o===c||o===h?1:-1;if(a||o===h||o===l)u=d>0?this.dropdown.element.querySelector(\"[data-choice-selectable]:last-of-type\"):this.dropdown.element.querySelector(\"[data-choice-selectable]\");else{var p=this.dropdown.element.querySelector(\".\"+this.config.classNames.highlightedState);u=p?function(e,t,i){if(void 0===i&&(i=1),e instanceof Element&&\"string\"==typeof t){for(var n=(i>0?\"next\":\"previous\")+\"ElementSibling\",s=e[n];s;){if(s.matches(t))return s;s=s[n]}return s}}(p,\"[data-choice-selectable]\",d):this.dropdown.element.querySelector(\"[data-choice-selectable]\")}u&&(t=u,i=this.choiceList.element,void 0===(n=d)&&(n=1),t&&(n>0?i.scrollTop+i.offsetHeight>=t.offsetTop+t.offsetHeight:t.offsetTop>=i.scrollTop)||this.choiceList.scrollToChildElement(u,d),this._highlightChoice(u)),s.preventDefault()}},r._onDeleteKey=function(e){var t=e.event,i=e.target,n=e.hasFocusedInput,s=e.activeItems;!n||i.value||this._isSelectOneElement||(this._handleBackspace(s),t.preventDefault())},r._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},r._onTouchEnd=function(e){var t=(e||e.touches[0]).target;this._wasTap&&this.containerOuter.element.contains(t)&&((t===this.containerOuter.element||t===this.containerInner.element)&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),e.stopPropagation()),this._wasTap=!0},r._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(Ee&&this.choiceList.element.contains(t)){var i=this.choiceList.element.firstElementChild,n=\"ltr\"===this._direction?e.offsetX>=i.offsetWidth:e.offsetX0&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0))},r._onFocus=function(e){var t,i=this,n=e.target;this.containerOuter.element.contains(n)&&((t={}).text=function(){n===i.input.element&&i.containerOuter.addFocusState()},t[\"select-one\"]=function(){i.containerOuter.addFocusState(),n===i.input.element&&i.showDropdown(!0)},t[\"select-multiple\"]=function(){n===i.input.element&&(i.showDropdown(!0),i.containerOuter.addFocusState())},t)[this.passedElement.element.type]()},r._onBlur=function(e){var t=this,i=e.target;if(this.containerOuter.element.contains(i)&&!this._isScrollingOnIe){var n,s=this._store.activeItems.some((function(e){return e.highlighted}));((n={}).text=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),s&&t.unhighlightAll(),t.hideDropdown(!0))},n[\"select-one\"]=function(){t.containerOuter.removeFocusState(),(i===t.input.element||i===t.containerOuter.element&&!t._canSearch)&&t.hideDropdown(!0)},n[\"select-multiple\"]=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),t.hideDropdown(!0),s&&t.unhighlightAll())},n)[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},r._onFormReset=function(){this._store.dispatch({type:\"RESET_TO\",state:this._initialState})},r._highlightChoice=function(e){var t=this;void 0===e&&(e=null);var i=Array.from(this.dropdown.element.querySelectorAll(\"[data-choice-selectable]\"));if(i.length){var n=e;Array.from(this.dropdown.element.querySelectorAll(\".\"+this.config.classNames.highlightedState)).forEach((function(e){e.classList.remove(t.config.classNames.highlightedState),e.setAttribute(\"aria-selected\",\"false\")})),n?this._highlightPosition=i.indexOf(n):(n=i.length>this._highlightPosition?i[this._highlightPosition]:i[i.length-1])||(n=i[0]),n.classList.add(this.config.classNames.highlightedState),n.setAttribute(\"aria-selected\",\"true\"),this.passedElement.triggerEvent(B,{el:n}),this.dropdown.isActive&&(this.input.setActiveDescendant(n.id),this.containerOuter.setActiveDescendant(n.id))}},r._addItem=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.choiceId,r=void 0===s?-1:s,o=e.groupId,a=void 0===o?-1:o,c=e.customProperties,l=void 0===c?null:c,h=e.placeholder,u=void 0!==h&&h,d=e.keyCode,p=void 0===d?null:d,m=\"string\"==typeof t?t.trim():t,f=p,v=l,g=this._store.items,_=n||m,b=r||-1,y=a>=0?this._store.getGroupById(a):null,E=g?g.length+1:1;return this.config.prependValue&&(m=this.config.prependValue+m.toString()),this.config.appendValue&&(m+=this.config.appendValue.toString()),this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.choiceId,r=e.groupId,o=e.customProperties,a=e.placeholder,c=e.keyCode;return{type:W,value:t,label:i,id:n,choiceId:s,groupId:r,customProperties:o,placeholder:a,keyCode:c}}({value:m,label:_,id:E,choiceId:b,groupId:a,customProperties:l,placeholder:u,keyCode:f})),this._isSelectOneElement&&this.removeActiveItems(E),this.passedElement.triggerEvent(K,{id:E,value:m,label:_,customProperties:v,groupValue:y&&y.value?y.value:void 0,keyCode:f}),this},r._removeItem=function(e){if(!e||!E(\"Object\",e))return this;var t=e.id,i=e.value,n=e.label,s=e.choiceId,r=e.groupId,o=r>=0?this._store.getGroupById(r):null;return this._store.dispatch(function(e,t){return{type:X,id:e,choiceId:t}}(t,s)),o&&o.value?this.passedElement.triggerEvent(R,{id:t,value:i,label:n,groupValue:o.value}):this.passedElement.triggerEvent(R,{id:t,value:i,label:n}),this},r._addChoice=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.isSelected,r=void 0!==s&&s,o=e.isDisabled,a=void 0!==o&&o,c=e.groupId,l=void 0===c?-1:c,h=e.customProperties,u=void 0===h?null:h,d=e.placeholder,p=void 0!==d&&d,m=e.keyCode,f=void 0===m?null:m;if(null!=t){var v=this._store.choices,g=n||t,_=v?v.length+1:1,b=this._baseId+\"-\"+this._idNames.itemChoice+\"-\"+_;this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.groupId,r=e.disabled,o=e.elementId,a=e.customProperties,c=e.placeholder,l=e.keyCode;return{type:V,value:t,label:i,id:n,groupId:s,disabled:r,elementId:o,customProperties:a,placeholder:c,keyCode:l}}({id:_,groupId:l,elementId:b,value:t,label:g,disabled:a,customProperties:u,placeholder:p,keyCode:f})),r&&this._addItem({value:t,label:g,choiceId:_,customProperties:u,placeholder:p,keyCode:f})}},r._addGroup=function(e){var t=this,i=e.group,n=e.id,s=e.valueKey,r=void 0===s?\"value\":s,o=e.labelKey,a=void 0===o?\"label\":o,c=E(\"Object\",i)?i.choices:Array.from(i.getElementsByTagName(\"OPTION\")),l=n||Math.floor((new Date).valueOf()*Math.random()),h=!!i.disabled&&i.disabled;c?(this._store.dispatch(_e({value:i.label,id:l,active:!0,disabled:h})),c.forEach((function(e){var i=e.disabled||e.parentNode&&e.parentNode.disabled;t._addChoice({value:e[r],label:E(\"Object\",e)?e[a]:e.innerHTML,isSelected:e.selected,isDisabled:i,groupId:l,customProperties:e.customProperties,placeholder:e.placeholder})}))):this._store.dispatch(_e({value:i.label,id:i.id,active:!1,disabled:i.disabled}))},r._getTemplate=function(e){var t;if(!e)return null;for(var i=this.config.classNames,n=arguments.length,s=new Array(n>1?n-1:0),r=1;rthis.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.value.change,()=>{this.input_el.value=this.format_value,this.old_value=this.input_el.value}),this.connect(this.model.properties.low.change,()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&h.assert(t<=l,\"Invalid bounds, low must be inferior to high\"),null!=e&&null!=t&&(this.model.value=Math.max(e,t))}),this.connect(this.model.properties.high.change,()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&h.assert(l>=t,\"Invalid bounds, high must be superior to low\"),null!=e&&null!=l&&(this.model.value=Math.min(e,l))}),this.connect(this.model.properties.high.change,()=>this.input_el.placeholder=this.model.placeholder),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled),this.connect(this.model.properties.placeholder.change,()=>this.input_el.placeholder=this.model.placeholder)}get format_value(){return null!=this.model.value?this.model.pretty(this.model.value):\"\"}_set_input_filter(e){this.input_el.addEventListener(\"input\",()=>{const{selectionStart:t,selectionEnd:l}=this.input_el;if(e(this.input_el.value))this.old_value=this.input_el.value;else{const e=this.old_value.length-this.input_el.value.length;this.input_el.value=this.old_value,t&&l&&this.input_el.setSelectionRange(t-1,l+e)}})}render(){super.render(),this.input_el=u.input({type:\"text\",class:r.bk_input,name:this.model.name,value:this.format_value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.old_value=this.format_value,this.set_input_filter(),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.input_el.addEventListener(\"focusout\",()=>this.input_el.value=this.format_value),this.group_el.appendChild(this.input_el)}set_input_filter(){\"int\"==this.model.mode?this._set_input_filter(e=>d.test(e)):\"float\"==this.model.mode&&this._set_input_filter(e=>p.test(e))}bound_value(e){let t=e;const{low:l,high:i}=this.model;return t=null!=l?Math.max(l,t):t,t=null!=i?Math.min(i,t):t,t}get value(){let e=\"\"!==this.input_el.value?Number(this.input_el.value):null;return null!=e&&(e=this.bound_value(e)),e}change_input(){null==this.value?this.model.value=null:Number.isNaN(this.value)||(this.model.value=this.value)}}l.NumericInputView=_,_.__name__=\"NumericInputView\";class m extends s.InputWidget{constructor(e){super(e)}static init_NumericInput(){this.prototype.default_view=_,this.define({value:[o.Number,null],placeholder:[o.String,\"\"],mode:[o.Any,\"int\"],format:[o.Any],low:[o.Number,null],high:[o.Number,null]})}_formatter(e,t){return a.isString(t)?n.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):\"\"+e}}l.NumericInput=m,m.__name__=\"NumericInput\",m.init_NumericInput()},\n", + " 442: function _(t,_,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=t(1);e.__exportStar(t(13),r),e.__exportStar(t(9),r),e.__exportStar(t(29),r),e.__exportStar(t(443),r),e.__exportStar(t(8),r),e.__exportStar(t(25),r)},\n", + " 443: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});class n{constructor(e){this.seed=e%2147483647,this.seed<=0&&(this.seed+=2147483646)}integer(){return this.seed=48271*this.seed%2147483647,this.seed}float(){return(this.integer()-1)/2147483646}floats(e){const t=new Array(e);for(let s=0;s{n.classes(o).toggle(s.bk_active,t===e)})}}e.RadioButtonGroupView=_,_.__name__=\"RadioButtonGroupView\";class c extends a.ButtonGroup{constructor(t){super(t)}static init_RadioButtonGroup(){this.prototype.default_view=_,this.define({active:[u.Any,null]})}}e.RadioButtonGroup=c,c.__name__=\"RadioButtonGroup\",c.init_RadioButtonGroup()},\n", + " 446: function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),a=e(72),s=e(29),o=n.__importStar(e(18)),d=e(417),l=e(173),p=e(412);class r extends d.InputGroupView{render(){super.render();const e=a.div({class:[p.bk_input_group,this.model.inline?l.bk_inline:null]});this.el.appendChild(e);const i=s.uniqueId(),{active:t,labels:n}=this.model;this._inputs=[];for(let s=0;sthis.change_active(s)),this._inputs.push(o),this.model.disabled&&(o.disabled=!0),s==t&&(o.checked=!0);const d=a.label({},o,a.span({},n[s]));e.appendChild(d)}}change_active(e){this.model.active=e}}t.RadioGroupView=r,r.__name__=\"RadioGroupView\";class u extends d.InputGroup{constructor(e){super(e)}static init_RadioGroup(){this.prototype.default_view=r,this.define({active:[o.Number],labels:[o.Array,[]],inline:[o.Boolean,!1]})}}t.RadioGroup=u,u.__name__=\"RadioGroup\",u.init_RadioGroup()},\n", + " 447: function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1).__importStar(e(188)),a=e(423),n=e(8);class o extends a.AbstractRangeSliderView{}r.RangeSliderView=o,o.__name__=\"RangeSliderView\";class s extends a.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}static init_RangeSlider(){this.prototype.default_view=o,this.override({format:\"0[.]00\"})}_formatter(e,t){return n.isString(t)?i.format(e,t):t.doFormat([e],{loc:0})[0]}}r.RangeSlider=s,s.__name__=\"RangeSlider\",s.init_RangeSlider()},\n", + " 448: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(72),l=e(8),o=e(13),p=n.__importStar(e(18)),u=e(410),a=e(412);class _ extends u.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,options:t}=this.model.properties;this.on_change(e,()=>{this._update_value()}),this.on_change(t,()=>{s.empty(this.input_el),s.append(this.input_el,...this.options_el())})}options_el(){function e(e){return e.map(e=>{let t,i;return l.isString(e)?t=i=e:[t,i]=e,s.option({value:t},i)})}const{options:t}=this.model;return l.isArray(t)?e(t):o.entries(t).map(([t,i])=>s.optgroup({label:t},e(i)))}render(){super.render(),this.input_el=s.select({class:a.bk_input,name:this.model.name,disabled:this.model.disabled},this.options_el()),this._update_value(),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.input_el)}change_input(){const e=this.input_el.value;this.model.value=e,super.change_input()}_update_value(){const{value:e}=this.model;null!=e&&0!=e.length&&(this.input_el.value=this.model.value)}}i.SelectView=_,_.__name__=\"SelectView\";class h extends u.InputWidget{constructor(e){super(e)}static init_Select(){this.prototype.default_view=_,this.define({value:[p.String,\"\"],options:[p.Any,[]]})}}i.Select=h,h.__name__=\"Select\",h.init_Select()},\n", + " 449: function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1).__importStar(e(188)),o=e(423),s=e(8);class _ extends o.AbstractSliderView{}r.SliderView=_,_.__name__=\"SliderView\";class a extends o.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}static init_Slider(){this.prototype.default_view=_,this.override({format:\"0[.]00\"})}_formatter(e,t){return s.isString(t)?i.format(e,t):t.doFormat([e],{loc:0})[0]}}r.Slider=a,a.__name__=\"Slider\",a.init_Slider()},\n", + " 450: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(441),l=n.__importStar(e(18)),r=e(72),{min:o,max:_,floor:a,abs:h}=Math;function u(e){return a(e)!==e?e.toFixed(16).replace(/0+$/,\"\").split(\".\")[1].length:0}class p extends s.NumericInputView{*buttons(){yield this.btn_up_el,yield this.btn_down_el}initialize(){super.initialize(),this._interval=200}connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,()=>{for(const e of this.buttons())r.toggle_attribute(e,\"disabled\",this.model.disabled)})}render(){super.render(),this.wrapper_el=r.div({class:\"bk-spin-wrapper\"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=r.button({class:\"bk-spin-btn bk-spin-btn-up\"}),this.btn_down_el=r.button({class:\"bk-spin-btn bk-spin-btn-down\"}),this.wrapper_el.appendChild(this.input_el),this.wrapper_el.appendChild(this.btn_up_el),this.wrapper_el.appendChild(this.btn_down_el);for(const e of this.buttons())r.toggle_attribute(e,\"disabled\",this.model.disabled),e.addEventListener(\"mousedown\",e=>this._btn_mouse_down(e)),e.addEventListener(\"mouseup\",()=>this._btn_mouse_up()),e.addEventListener(\"mouseleave\",()=>this._btn_mouse_leave());this.input_el.addEventListener(\"keydown\",e=>this._input_key_down(e)),this.input_el.addEventListener(\"keyup\",()=>this.model.value_throttled=this.model.value),this.input_el.addEventListener(\"wheel\",e=>this._input_mouse_wheel(e)),this.input_el.addEventListener(\"wheel\",function(e,t,i=!1){let n;return function(...s){const l=this,r=i&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((function(){n=void 0,i||e.apply(l,s)}),t),r&&e.apply(l,s)}}(()=>{this.model.value_throttled=this.model.value},this.model.wheel_wait,!1))}get precision(){const{low:e,high:t,step:i}=this.model;return _(...[e,t,i].map(h).reduce((e,t)=>(null!=t&&e.push(t),e),[]).map(u))}_start_incrementation(e){clearInterval(this._interval_handle),this._counter=0;const{step:t}=this.model,i=e=>{if(this._counter+=1,this._counter%5==0){const t=Math.floor(this._counter/5);t<10?(clearInterval(this._interval_handle),this._interval_handle=setInterval(()=>i(e),this._interval/(t+1))):t>=10&&t<=13&&(clearInterval(this._interval_handle),this._interval_handle=setInterval(()=>i(2*e),this._interval/10))}this.increment(e)};this._interval_handle=setInterval(()=>i(e*t),this._interval)}_stop_incrementation(){clearInterval(this._interval_handle),this.model.value_throttled=this.model.value}_btn_mouse_down(e){e.preventDefault();const t=e.currentTarget===this.btn_up_el?1:-1;this.increment(t*this.model.step),this.input_el.focus(),this._start_incrementation(t)}_btn_mouse_up(){this._stop_incrementation()}_btn_mouse_leave(){this._stop_incrementation()}_input_mouse_wheel(e){if(document.activeElement===this.input_el){e.preventDefault();const t=e.deltaY>0?-1:1;this.increment(t*this.model.step)}}_input_key_down(e){switch(e.keyCode){case r.Keys.Up:return e.preventDefault(),this.increment(this.model.step);case r.Keys.Down:return e.preventDefault(),this.increment(-this.model.step);case r.Keys.PageUp:return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case r.Keys.PageDown:return e.preventDefault(),this.increment(-this.model.page_step_multiplier*this.model.step)}}adjust_to_precision(e){return this.bound_value(Number(e.toFixed(this.precision)))}increment(e){const{low:t,high:i}=this.model;null==this.model.value?e>0?this.model.value=null!=t?t:null!=i?o(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?_(t,0):0):this.model.value=this.adjust_to_precision(this.model.value+e)}change_input(){super.change_input(),this.model.value_throttled=this.model.value}}i.SpinnerView=p,p.__name__=\"SpinnerView\";class d extends s.NumericInput{constructor(e){super(e)}static init_Spinner(){this.prototype.default_view=p,this.define({value_throttled:[l.Number,null],step:[l.Number,1],page_step_multiplier:[l.Number,10],wheel_wait:[l.Number,100]}),this.override({mode:\"float\"})}}i.Spinner=d,d.__name__=\"Spinner\",d.init_Spinner()},\n", + " 451: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(410),l=e(72),h=s.__importStar(e(18)),o=e(412);class a extends n.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,()=>this.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.value.change,()=>this.input_el.value=this.model.value),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled),this.connect(this.model.properties.placeholder.change,()=>this.input_el.placeholder=this.model.placeholder),this.connect(this.model.properties.rows.change,()=>this.input_el.rows=this.model.rows),this.connect(this.model.properties.cols.change,()=>this.input_el.cols=this.model.cols),this.connect(this.model.properties.max_length.change,()=>this.input_el.maxLength=this.model.max_length)}render(){super.render(),this.input_el=l.textarea({class:o.bk_input,name:this.model.name,disabled:this.model.disabled,placeholder:this.model.placeholder,cols:this.model.cols,rows:this.model.rows,maxLength:this.model.max_length}),this.input_el.textContent=this.model.value,this.input_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.input_el)}change_input(){this.model.value=this.input_el.value,super.change_input()}}i.TextAreaInputView=a,a.__name__=\"TextAreaInputView\";class p extends n.InputWidget{constructor(e){super(e)}static init_TextAreaInput(){this.prototype.default_view=a,this.define({value:[h.String,\"\"],value_input:[h.String,\"\"],placeholder:[h.String,\"\"],cols:[h.Number,20],rows:[h.Number,2],max_length:[h.Number,500]})}}i.TextAreaInput=p,p.__name__=\"TextAreaInput\",p.init_TextAreaInput()},\n", + " 452: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),c=e(404),o=e(72),a=s.__importStar(e(18)),n=e(173);class l extends c.AbstractButtonView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,()=>this._update_active())}render(){super.render(),this._update_active()}click(){this.model.active=!this.model.active,super.click()}_update_active(){o.classes(this.button_el).toggle(n.bk_active,this.model.active)}}i.ToggleView=l,l.__name__=\"ToggleView\";class _ extends c.AbstractButton{constructor(e){super(e)}static init_Toggle(){this.prototype.default_view=l,this.define({active:[a.Boolean,!1]}),this.override({label:\"Toggle\"})}}i.Toggle=_,_.__name__=\"Toggle\",_.init_Toggle()},\n", + " }, 402, {\"models/widgets/main\":402,\"models/widgets/index\":403,\"models/widgets/abstract_button\":404,\"models/widgets/control\":405,\"models/widgets/widget\":472,\"models/widgets/abstract_icon\":407,\"models/widgets/autocomplete_input\":408,\"models/widgets/text_input\":409,\"models/widgets/input_widget\":410,\"styles/widgets/inputs.css\":411,\"styles/widgets/inputs\":412,\"models/widgets/button\":413,\"models/widgets/checkbox_button_group\":414,\"models/widgets/button_group\":415,\"models/widgets/checkbox_group\":416,\"models/widgets/input_group\":417,\"models/widgets/color_picker\":418,\"models/widgets/date_picker\":419,\"styles/widgets/flatpickr.css\":421,\"models/widgets/date_range_slider\":422,\"models/widgets/abstract_slider\":423,\"styles/widgets/sliders\":425,\"styles/widgets/nouislider.css\":426,\"styles/widgets/sliders.css\":427,\"models/widgets/date_slider\":428,\"models/widgets/div\":429,\"models/widgets/markup\":430,\"styles/clearfix\":431,\"styles/clearfix.css\":432,\"models/widgets/dropdown\":433,\"models/widgets/file_input\":434,\"models/widgets/multiselect\":435,\"models/widgets/paragraph\":436,\"models/widgets/password_input\":437,\"models/widgets/multichoice\":438,\"styles/widgets/choices.css\":440,\"models/widgets/numeric_input\":441,\"api/linalg\":442,\"core/util/random\":443,\"models/widgets/pretext\":444,\"models/widgets/radio_button_group\":445,\"models/widgets/radio_group\":446,\"models/widgets/range_slider\":447,\"models/widgets/selectbox\":448,\"models/widgets/slider\":449,\"models/widgets/spinner\":450,\"models/widgets/textarea_input\":451,\"models/widgets/toggle\":452}, {});\n", + " })\n", + "\n", + "\n", + " /* END bokeh-widgets.min.js */\n", + " },\n", + " \n", + " function(Bokeh) {\n", + " /* BEGIN bokeh-tables.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " factory(root[\"Bokeh\"], \"2.2.3\");\n", + " })(this, function(Bokeh, version) {\n", + " var define;\n", + " return (function(modules, entry, aliases, externals) {\n", + " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", + " if (bokeh != null) {\n", + " return bokeh.register_plugin(modules, entry, aliases);\n", + " } else {\n", + " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", + " }\n", + " })\n", + " ({\n", + " 453: function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(1).__importStar(e(454));o.Tables=r;e(7).register_models(r)},\n", + " 454: function _(a,g,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=a(1);e.__exportStar(a(455),r),e.__exportStar(a(475),r);var t=a(456);r.DataTable=t.DataTable;var o=a(474);r.TableColumn=o.TableColumn;var n=a(473);r.TableWidget=n.TableWidget;var u=a(481);r.AvgAggregator=u.AvgAggregator,r.MinAggregator=u.MinAggregator,r.MaxAggregator=u.MaxAggregator,r.SumAggregator=u.SumAggregator;var l=a(482);r.GroupingInfo=l.GroupingInfo,r.DataCube=l.DataCube},\n", + " 455: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1).__importStar(e(18)),r=e(72),a=e(78),n=e(81),l=e(456),u=e(478);class d extends a.DOMView{constructor(e){const{model:t,parent:i}=e.column;super(Object.assign({model:t,parent:i},e)),this.args=e,this.initialize(),this.render()}get emptyValue(){return null}initialize(){super.initialize(),this.inputEl=this._createInput(),this.defaultValue=null}async lazy_initialize(){throw new Error(\"unsupported\")}css_classes(){return super.css_classes().concat(u.bk_cell_editor)}render(){super.render(),this.args.container.append(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation()}renderEditor(){}disableNavigation(){this.inputEl.addEventListener(\"keydown\",e=>{switch(e.keyCode){case r.Keys.Left:case r.Keys.Right:case r.Keys.Up:case r.Keys.Down:case r.Keys.PageUp:case r.Keys.PageDown:e.stopImmediatePropagation()}})}destroy(){this.remove()}focus(){this.inputEl.focus()}show(){}hide(){}position(){}getValue(){return this.inputEl.value}setValue(e){this.inputEl.value=e}serializeValue(){return this.getValue()}isValueChanged(){return!(\"\"==this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue}applyValue(e,t){const i=this.args.grid.getData(),s=i.index.indexOf(e[l.DTINDEX_NAME]);i.setField(s,this.args.column.field,t)}loadValue(e){const t=e[this.args.column.field];this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)}validateValue(e){if(this.args.column.validator){const t=this.args.column.validator(e);if(!t.valid)return t}return{valid:!0,msg:null}}validate(){return this.validateValue(this.getValue())}}i.CellEditorView=d,d.__name__=\"CellEditorView\";class o extends n.Model{}i.CellEditor=o,o.__name__=\"CellEditor\";class _ extends d{get emptyValue(){return\"\"}_createInput(){return r.input({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}}i.StringEditorView=_,_.__name__=\"StringEditorView\";class c extends o{static init_StringEditor(){this.prototype.default_view=_,this.define({completions:[s.Array,[]]})}}i.StringEditor=c,c.__name__=\"StringEditor\",c.init_StringEditor();class p extends d{_createInput(){return r.textarea()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=p,p.__name__=\"TextEditorView\";class h extends o{static init_TextEditor(){this.prototype.default_view=p}}i.TextEditor=h,h.__name__=\"TextEditor\",h.init_TextEditor();class E extends d{_createInput(){return r.select()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild(r.option({value:e},e));this.focus()}}i.SelectEditorView=E,E.__name__=\"SelectEditorView\";class V extends o{static init_SelectEditor(){this.prototype.default_view=E,this.define({options:[s.Array,[]]})}}i.SelectEditor=V,V.__name__=\"SelectEditor\",V.init_SelectEditor();class m extends d{_createInput(){return r.input({type:\"text\"})}}i.PercentEditorView=m,m.__name__=\"PercentEditorView\";class f extends o{static init_PercentEditor(){this.prototype.default_view=m}}i.PercentEditor=f,f.__name__=\"PercentEditor\",f.init_PercentEditor();class x extends d{_createInput(){return r.input({type:\"checkbox\"})}renderEditor(){this.focus()}loadValue(e){this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue}serializeValue(){return this.inputEl.checked}}i.CheckboxEditorView=x,x.__name__=\"CheckboxEditorView\";class w extends o{static init_CheckboxEditor(){this.prototype.default_view=x}}i.CheckboxEditor=w,w.__name__=\"CheckboxEditor\",w.init_CheckboxEditor();class g extends d{_createInput(){return r.input({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){return parseInt(this.getValue(),10)||0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid integer\"}:super.validateValue(e)}}i.IntEditorView=g,g.__name__=\"IntEditorView\";class y extends o{static init_IntEditor(){this.prototype.default_view=g,this.define({step:[s.Number,1]})}}i.IntEditor=y,y.__name__=\"IntEditor\",y.init_IntEditor();class v extends d{_createInput(){return r.input({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){return parseFloat(this.getValue())||0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid number\"}:super.validateValue(e)}}i.NumberEditorView=v,v.__name__=\"NumberEditorView\";class b extends o{static init_NumberEditor(){this.prototype.default_view=v,this.define({step:[s.Number,.01]})}}i.NumberEditor=b,b.__name__=\"NumberEditor\",b.init_NumberEditor();class I extends d{_createInput(){return r.input({type:\"text\"})}}i.TimeEditorView=I,I.__name__=\"TimeEditorView\";class N extends o{static init_TimeEditor(){this.prototype.default_view=I}}i.TimeEditor=N,N.__name__=\"TimeEditor\",N.init_TimeEditor();class C extends d{_createInput(){return r.input({type:\"text\"})}get emptyValue(){return new Date}renderEditor(){this.inputEl.focus(),this.inputEl.select()}destroy(){super.destroy()}show(){super.show()}hide(){super.hide()}position(){return super.position()}getValue(){}setValue(e){}}i.DateEditorView=C,C.__name__=\"DateEditorView\";class D extends o{static init_DateEditor(){this.prototype.default_view=C}}i.DateEditor=D,D.__name__=\"DateEditor\",D.init_DateEditor()},\n", + " 456: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),o=e(457),n=e(461),l=e(462),r=e(463),d=e(29),a=e(8),h=e(9),u=e(13),c=e(19),_=e(472),m=e(473),g=e(474),p=e(478),f=s.__importDefault(e(479)),b=s.__importDefault(e(480));i.DTINDEX_NAME=\"__bkdt_internal_index__\",i.AutosizeModes={fit_columns:\"FCV\",fit_viewport:\"FVC\",force_fit:\"LFF\",none:\"NOA\"};class w{constructor(e,t){this.init(e,t)}init(e,t){if(i.DTINDEX_NAME in e.data)throw new Error(`special name ${i.DTINDEX_NAME} cannot be used as a data table column`);this.source=e,this.view=t,this.index=[...this.view.indices]}getLength(){return this.index.length}getItem(e){const t={};for(const i of u.keys(this.source.data))t[i]=this.source.data[i][this.index[e]];return t[i.DTINDEX_NAME]=this.index[e],t}getField(e,t){return t==i.DTINDEX_NAME?this.index[e]:this.source.data[t][this.index[e]]}setField(e,t,i){const s=this.index[e];this.source.patch({[t]:[[s,i]]})}getRecords(){return h.range(0,this.getLength()).map(e=>this.getItem(e))}getItems(){return this.getRecords()}slice(e,t,i){return e=null!=e?e:0,t=null!=t?t:this.getLength(),i=null!=i?i:1,h.range(e,t,i).map(e=>this.getItem(e))}sort(e){let t=e.map(e=>[e.sortCol.field,e.sortAsc?1:-1]);0==t.length&&(t=[[i.DTINDEX_NAME,1]]);const s=this.getRecords(),o=this.index.slice();this.index.sort((e,i)=>{for(const[n,l]of t){const t=s[o.indexOf(e)][n],r=s[o.indexOf(i)][n];if(t!==r)return a.isNumber(t)&&a.isNumber(r)?l*(t-r||+isNaN(t)-+isNaN(r)):\"\"+t>\"\"+r?l:-l}return 0})}}i.TableDataProvider=w,w.__name__=\"TableDataProvider\";class x extends _.WidgetView{constructor(){super(...arguments),this._in_selection_update=!1,this._warned_not_reorderable=!1,this._width=null}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render()),this.connect(this.model.source.streaming,()=>this.updateGrid()),this.connect(this.model.source.patching,()=>this.updateGrid()),this.connect(this.model.source.change,()=>this.updateGrid()),this.connect(this.model.source.properties.data.change,()=>this.updateGrid()),this.connect(this.model.source.selected.change,()=>this.updateSelection()),this.connect(this.model.source.selected.properties.indices.change,()=>this.updateSelection())}remove(){var e;null===(e=this.grid)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),f.default,b.default]}update_position(){super.update_position(),this.grid.resizeCanvas()}after_layout(){super.after_layout(),this.updateLayout(!0,!1)}box_sizing(){const e=super.box_sizing();return\"fit_viewport\"===this.model.autosize_mode&&null!=this._width&&(e.width=this._width),e}updateLayout(e,t){const s=this.autosize;s===i.AutosizeModes.fit_columns||s===i.AutosizeModes.force_fit?(e||this.grid.resizeCanvas(),this.grid.autosizeColumns()):e&&t&&s===i.AutosizeModes.fit_viewport&&this.invalidate_layout()}updateGrid(){if(this.model.view.compute_indices(),this.data.init(this.model.source,this.model.view),this.model.sortable){const e=this.grid.getColumns(),t=this.grid.getSortColumns().map(t=>({sortCol:{field:e[this.grid.getColumnIndex(t.columnId)].field},sortAsc:t.sortAsc}));this.data.sort(t)}this.grid.invalidate(),this.updateLayout(!0,!0)}updateSelection(){if(this._in_selection_update)return;const{selected:e}=this.model.source,t=e.indices.map(e=>this.data.index.indexOf(e)).sort();this._in_selection_update=!0,this.grid.setSelectedRows(t),this._in_selection_update=!1;const i=this.grid.getViewport(),s=this.model.get_scroll_index(i,t);null!=s&&this.grid.scrollRowToTop(s)}newIndexColumn(){return{id:d.uniqueId(),name:this.model.index_header,field:i.DTINDEX_NAME,width:this.model.index_width,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:p.bk_cell_index,headerCssClass:p.bk_header_index}}css_classes(){return super.css_classes().concat(p.bk_data_table)}get autosize(){let e;return e=!0===this.model.fit_columns?i.AutosizeModes.force_fit:!1===this.model.fit_columns?i.AutosizeModes.none:i.AutosizeModes[this.model.autosize_mode],e}render(){var e;const t=this.model.columns.map(e=>Object.assign(Object.assign({},e.toColumn()),{parent:this}));let s=null;if(\"checkbox\"==this.model.selectable&&(s=new n.CheckboxSelectColumn({cssClass:p.bk_cell_select}),t.unshift(s.getColumnDefinition())),null!=this.model.index_position){const e=this.model.index_position,i=this.newIndexColumn();-1==e?t.push(i):e<-1?t.splice(e+1,0,i):t.splice(e,0,i)}let{reorderable:d}=this.model;!d||\"undefined\"!=typeof $&&null!=$.fn&&null!=$.fn.sortable||(this._warned_not_reorderable||(c.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),this._warned_not_reorderable=!0),d=!1);let h=-1,u=!1;const{frozen_rows:_,frozen_columns:m}=this.model,g=null==m?-1:m-1;null!=_&&(u=_<0,h=Math.abs(_));const f={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:d,autosizeColsMode:this.autosize,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:this.model.auto_edit,autoHeight:!1,rowHeight:this.model.row_height,frozenColumn:g,frozenRow:h,frozenBottom:u},b=null!=this.grid;if(this.data=new w(this.model.source,this.model.view),this.grid=new r.Grid(this.el,this.data,t,f),this.autosize==i.AutosizeModes.fit_viewport){this.grid.autosizeColumns();let i=0;for(const s of t)i+=null!==(e=s.width)&&void 0!==e?e:0;this._width=Math.ceil(i)}if(this.grid.onSort.subscribe((e,t)=>{if(!this.model.sortable)return;const i=t.sortCols;null!=i&&(this.data.sort(i),this.grid.invalidate(),this.updateSelection(),this.grid.render(),this.model.header_row||this._hide_header(),this.model.update_sort_columns(i))}),!1!==this.model.selectable){this.grid.setSelectionModel(new o.RowSelectionModel({selectActiveRow:null==s})),null!=s&&this.grid.registerPlugin(s);const e={dataItemColumnValueExtractor(e,t){let i=e[t.field];return a.isString(i)&&(i=i.replace(/\\n/g,\"\\\\n\")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new l.CellExternalCopyManager(e)),this.grid.onSelectedRowsChanged.subscribe((e,t)=>{this._in_selection_update||(this.model.source.selected.indices=t.rows.map(e=>this.data.index[e]))}),this.updateSelection(),this.model.header_row||this._hide_header()}b&&this.updateLayout(b,!1)}_hide_header(){for(const e of this.el.querySelectorAll(\".slick-header-columns\"))e.style.height=\"0px\";this.grid.resizeCanvas()}}i.DataTableView=x,x.__name__=\"DataTableView\";class C extends m.TableWidget{constructor(e){super(e),this._sort_columns=[]}get sort_columns(){return this._sort_columns}static init_DataTable(){this.prototype.default_view=x,this.define(({Array:e,Boolean:t,Int:i,Ref:s,String:o,Enum:n,Or:l,Null:r})=>({autosize_mode:[n(\"fit_columns\",\"fit_viewport\",\"none\",\"force_fit\"),\"force_fit\"],auto_edit:[t,!1],columns:[e(s(g.TableColumn)),[]],fit_columns:[l(t,r),null],frozen_columns:[l(i,r),null],frozen_rows:[l(i,r),null],sortable:[t,!0],reorderable:[t,!0],editable:[t,!1],selectable:[l(t,n(\"checkbox\")),!0],index_position:[l(i,r),0],index_header:[o,\"#\"],index_width:[i,40],scroll_to_selection:[t,!0],header_row:[t,!0],row_height:[i,25]})),this.override({width:600,height:400})}update_sort_columns(e){this._sort_columns=e.map(({sortCol:e,sortAsc:t})=>({field:e.field,sortAsc:t}))}get_scroll_index(e,t){return this.scroll_to_selection&&0!=t.length?h.some(t,t=>e.top<=t&&t<=e.bottom)?null:Math.max(0,Math.min(...t)-1):null}}i.DataTable=C,C.__name__=\"DataTable\",C.init_DataTable()},\n", + " 457: function _(e,t,n){var o=e(458),r=e(460);t.exports={RowSelectionModel:function(e){var t,n,l,i=[],c=this,u=new r.EventHandler,s={selectActiveRow:!0};function a(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function f(e){for(var t=[],n=0;n=0&&l0&&t-1 in e)}b.fn=b.prototype={jquery:\"3.5.1\",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(b.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()}),{dir:\"parentNode\",next:\"legend\"});try{H.apply(j=O.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){H={apply:j.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+\" \"]&&(!v||!v.test(e))&&(1!==w||\"object\"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute(\"id\"))?c=c.replace(re,ie):t.setAttribute(\"id\",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?\"#\"+c:\":scope\")+\" \"+xe(h[s]);y=h.join(\",\")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute(\"id\")}}}return u(e.replace($,\"$1\"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split(\"|\"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function ge(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",oe,!1):i.attachEvent&&i.attachEvent(\"onunload\",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement(\"div\")),void 0!==e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length})),n.attributes=ce((function(e){return e.className=\"i\",!e.getAttribute(\"className\")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment(\"\")),!e.getElementsByTagName(\"*\").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||v.push(\"~=\"),(t=d.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")})),ce((function(e){e.innerHTML=\"\";var t=d.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,\"*\"),m.call(e,\"[s!='']:x\"),y.push(\"!=\",F)})),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&E(e,(function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?\"!=\"===t:!t||(i+=\"\",\"=\"===t?i===n:\"!=\"===t?i!==n:\"^=\"===t?n&&0===i.indexOf(n):\"*=\"===t?n&&i.indexOf(n)>-1:\"$=\"===t?n&&i.slice(-n.length)===n:\"~=\"===t?(\" \"+i.replace(B,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(i===n||i.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?\"nextSibling\":\"previousSibling\",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return i[b]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,\"$1\"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||\"\")||se.error(\"unsupported lang: \"+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[\" \"],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:\" \"===e[u-2].type?\"*\":\"\"})).replace($,\"$1\"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m=\"0\",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG(\"*\",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p=\"function\"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&\"ID\"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(N).join(\"\")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement(\"fieldset\"))})),ce((function(e){return e.innerHTML=\"\",\"#\"===e.firstChild.getAttribute(\"href\")}))||fe(\"type|href|height|width\",(function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")}))||fe(\"value\",(function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute(\"disabled\")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);b.find=T,b.expr=T.selectors,b.expr[\":\"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?b.grep(e,(function(e){return e===t!==n})):\"string\"!=typeof t?b.grep(e,(function(e){return s.call(t,e)>-1!==n})):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,(function(e){return 1===e.nodeType})))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(b(e).filter((function(){for(t=0;t1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,\"string\"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var D,j=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,D=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,\"parentNode\")},parentsUntil:function(e,t,n){return C(e,\"parentNode\",n)},next:function(e){return H(e,\"nextSibling\")},prev:function(e){return H(e,\"previousSibling\")},nextAll:function(e){return C(e,\"nextSibling\")},prevAll:function(e){return C(e,\"previousSibling\")},nextUntil:function(e,t,n){return C(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return C(e,\"previousSibling\",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,\"template\")&&(e=e.content||e),b.merge([],e.childNodes))}},(function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}}));var O=/[^\\x20\\t\\r\\n\\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return b.each(e.match(O)||[],(function(e,n){t[n]=!0})),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",b.Callbacks(\"memory\"),b.Callbacks(\"memory\"),2],[\"resolve\",\"done\",b.Callbacks(\"once memory\"),b.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",b.Callbacks(\"once memory\"),b.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred((function(t){b.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))})).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),\"pending\"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout((function(){throw t}))};var W=b.Deferred();function F(){v.removeEventListener(\"DOMContentLoaded\",F),e.removeEventListener(\"load\",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch((function(e){b.readyException(e)})),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,\"complete\"===v.readyState||\"loading\"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener(\"DOMContentLoaded\",F),e.addEventListener(\"load\",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Y.remove(this,e)}))}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,(function(){b.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks(\"once memory\").add((function(){G.remove(e,[t+\"queue\",n])}))})}}),b.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement(\"div\")),(fe=v.createElement(\"input\")).setAttribute(\"type\",\"radio\"),fe.setAttribute(\"checked\",\"checked\"),fe.setAttribute(\"name\",\"t\"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML=\"\",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=\"\",d.option=!!ce.lastChild;var ge={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n\",\"\"]);var me=/<|&#?\\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||\"\")&&n.push(o);return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==(\"focus\"===t)}function ke(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each((function(){b.event.add(this,t,i,r,n)}))}function Ae(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,Ce)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(O)||[\"\"]).length;l--;)d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||\"\").match(O)||[\"\"]).length;l--;)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,\"events\")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\\s*$/g;function qe(e,t){return k(e,\"table\")&&k(11!==t.nodeType?t:t.firstChild,\"tr\")&&b(e).children(\"tbody\")[0]||e}function Le(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function He(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n1&&\"string\"==typeof v&&!d.checkClone&&De.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)}));if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,\"script\"),Le)).length;f0&&ye(a,!u&&ve(e,\"script\")),s},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Me(this,e,!0)},remove:function(e){return Me(this,e)},text:function(e){return B(this,(function(e){return void 0===e?b.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Re(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)}))},prepend:function(){return Re(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return b.clone(this,e,t)}))},html:function(e){return B(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n3,ne.removeChild(t)),s}}))}();var ze=[\"Webkit\",\"Moz\",\"ms\"],Ue=v.createElement(\"div\").style,Xe={};function Ve(e){var t=b.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=ze.length;n--;)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Qe={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Je={letterSpacing:\"0\",fontWeight:\"400\"};function Ke(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ze(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=b.css(e,n+te[a],!0,i)),r?(\"content\"===n&&(u-=b.css(e,\"padding\"+te[a],!0,i)),\"margin\"!==n&&(u-=b.css(e,\"border\"+te[a]+\"Width\",!0,i))):(u+=b.css(e,\"padding\"+te[a],!0,i),\"padding\"!==n?u+=b.css(e,\"border\"+te[a]+\"Width\",!0,i):s+=b.css(e,\"border\"+te[a]+\"Width\",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=We(e),i=(!d.boxSizingReliable()||n)&&\"border-box\"===b.css(e,\"boxSizing\",!1,r),o=i,a=$e(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a=\"auto\"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===b.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===b.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=$e(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Ye.test(t),l=e.style;if(u||(t=Ve(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?\"\":\"px\")),d.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Ye.test(t)||(t=Ve(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=$e(e,t,r)),\"normal\"===i&&t in Je&&(i=Je[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each([\"height\",\"width\"],(function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ge.test(b.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):Fe(e,Qe,(function(){return et(e,t,r)}))},set:function(e,n,r){var i,o=We(e),a=!d.scrollboxSize()&&\"absolute\"===o.position,s=(a||r)&&\"border-box\"===b.css(e,\"boxSizing\",!1,o),u=r?Ze(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,\"border\",!1,o)-.5)),u&&(i=ee.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=b.css(e,t)),Ke(0,n,u)}}})),b.cssHooks.marginLeft=_e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat($e(e,\"marginLeft\"))||e.getBoundingClientRect().left-Fe(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+\"px\"})),b.each({margin:\"\",padding:\"\",border:\"Width\"},(function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},\"margin\"!==e&&(b.cssHooks[e+t].set=Ke)})),b.fn.extend({css:function(e,t){return B(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),b.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?\"\":\"px\")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},b.fx=tt.prototype.init,b.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,b.fx.interval),b.fx.tick())}function st(){return e.setTimeout((function(){nt=void 0})),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=te[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(ct.tweeners[t]||[]).concat(ct.tweeners[\"*\"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){b.removeAttr(this,e)}))}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ft:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&\"radio\"===t&&k(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ft={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\\w+/g),(function(e,t){var n=pt[t]||b.find.attr;pt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=pt[a],pt[a]=i,i=null!=n(e,t,r)?a:null,pt[a]=o),i}}));var dt=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function gt(e){return(e.match(O)||[]).join(\" \")}function vt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function yt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[b.propFix[e]||e]}))}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,\"tabindex\");return t?parseInt(t,10):dt.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],(function(){b.propFix[this.toLowerCase()]=this})),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).addClass(e.call(this,t,vt(this)))}));if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&\" \"+gt(i)+\" \"){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=gt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).removeClass(e.call(this,t,vt(this)))}));if(!arguments.length)return this.attr(\"class\",\"\");if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&\" \"+gt(i)+\" \"){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");i!==(s=gt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){b(this).toggleClass(e.call(this,n,vt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=yt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=vt(this))&&G.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":G.get(this,\"__className__\")||\"\"))}))},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+gt(vt(n))+\" \").indexOf(t)>-1)return!0;return!1}});var mt=/\\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=b.map(i,(function(e){return null==e?\"\":e+\"\"}))),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))}))):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:\"string\"==typeof(n=i.value)?n.replace(mt,\"\"):null==n?\"\":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,\"value\");return null!=t?t:gt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each([\"radio\",\"checkbox\"],(function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})})),d.focusin=\"onfocusin\"in e;var xt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,\"type\")?t.type:t,x=c.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!xt.test(m+b.event.triggered)&&(m.indexOf(\".\")>-1&&(x=m.split(\".\"),m=x.shift(),x.sort()),l=m.indexOf(\":\")<0&&\"on\"+m,(t=t[b.expando]?t:new b.Event(m,\"object\"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+x.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,xt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,\"events\")||Object.create(null))[t.type]&&G.get(a,\"handle\"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,bt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,bt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each((function(){b.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:\"focusin\",blur:\"focusout\"},(function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}}));var wt=e.location,Tt={guid:Date.now()},Ct=/\\?/;b.parseXML=function(t){var n;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){n=void 0}return n&&!n.getElementsByTagName(\"parsererror\").length||b.error(\"Invalid XML: \"+t),n};var Et=/\\[\\]$/,St=/\\r?\\n/g,kt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function Nt(e,t,n,r){var i;if(Array.isArray(t))b.each(t,(function(t,i){n||Et.test(e)?r(e,i):Nt(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)}));else if(n||\"object\"!==x(t))r(e,t);else for(i in t)Nt(e+\"[\"+i+\"]\",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,(function(){i(this.name,this.value)}));else for(n in e)Nt(n,e[n],t,i);return r.join(\"&\")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=b.prop(this,\"elements\");return e?b.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!b(this).is(\":disabled\")&&At.test(this.nodeName)&&!kt.test(e)&&(this.checked||!pe.test(e))})).map((function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,(function(e){return{name:t.name,value:e.replace(St,\"\\r\\n\")}})):{name:t.name,value:n.replace(St,\"\\r\\n\")}})).get()}});var Dt=/%20/g,jt=/#.*$/,qt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Ht=/^(?:GET|HEAD)$/,Ot=/^\\/\\//,Pt={},Rt={},Mt=\"*/\".concat(\"*\"),It=v.createElement(\"a\");function Wt(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ft(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!0,b.each(e[s]||[],(function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i[\"*\"]&&a(\"*\")}function Bt(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}It.href=wt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Mt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,b.ajaxSettings),t):Bt(b.ajaxSettings,e)},ajaxPrefilter:Wt(Pt),ajaxTransport:Wt(Rt),ajax:function(t,n){\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks(\"once memory\"),x=d.statusCode||{},w={},T={},C=\"canceled\",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()+\" \"]=(a[t[1].toLowerCase()+\" \"]||[]).concat(t[2]);t=a[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||wt.href)+\"\").replace(Ot,wt.protocol+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||\"*\").toLowerCase().match(O)||[\"\"],null==d.crossDomain){u=v.createElement(\"a\");try{u.href=d.url,u.href=u.href,d.crossDomain=It.protocol+\"//\"+It.host!=u.protocol+\"//\"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Ft(Pt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Ht.test(d.type),i=d.url.replace(jt,\"\"),d.hasContent?d.data&&d.processData&&0===(d.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(d.data=d.data.replace(Dt,\"+\")):(p=d.url.slice(i.length),d.data&&(d.processData||\"string\"==typeof d.data)&&(i+=(Ct.test(i)?\"&\":\"?\")+d.data,delete d.data),!1===d.cache&&(i=i.replace(qt,\"$1\"),p=(Ct.test(i)?\"&\":\"?\")+\"_=\"+Tt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader(\"If-Modified-Since\",b.lastModified[i]),b.etag[i]&&E.setRequestHeader(\"If-None-Match\",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader(\"Content-Type\",d.contentType),E.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Mt+\"; q=0.01\":\"\"):d.accepts[\"*\"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C=\"abort\",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Ft(Rt,d,n,E)){if(E.readyState=1,c&&g.trigger(\"ajaxSend\",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort(\"timeout\")}),d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,\"No Transport\");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||\"\",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray(\"script\",d.dataTypes)>-1&&(d.converters[\"text script\"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader(\"Last-Modified\"))&&(b.lastModified[i]=T),(T=E.getResponseHeader(\"etag\"))&&(b.etag[i]=T)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+\"\",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?\"ajaxSuccess\":\"ajaxError\",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger(\"ajaxComplete\",[E,d]),--b.active||b.event.trigger(\"ajaxStop\")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,\"json\")},getScript:function(e,t){return b.get(e,void 0,t,\"script\")}}),b.each([\"get\",\"post\"],(function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}})),b.ajaxPrefilter((function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")})),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){b(this).wrapInner(e.call(this,t))})):this.each((function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){b(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not(\"body\").each((function(){b(this).replaceWith(this.childNodes)})),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},_t=b.ajaxSettings.xhr();d.cors=!!_t&&\"withCredentials\"in _t,d.ajax=_t=!!_t,b.ajaxTransport((function(t){var n,r;if(d.cors||_t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,\"abort\"===e?s.abort():\"error\"===e?\"number\"!=typeof s.status?o(0,\"error\"):o(s.status,s.statusText):o($t[s.status]||s.status,s.statusText,\"text\"!==(s.responseType||\"text\")||\"string\"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n(\"error\"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n(\"abort\");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),b.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),b.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter(\"script\",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")})),b.ajaxTransport(\"script\",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b(\"" + ], + "text/plain": [ + "Tabs\n", + " [0] Column\n", + " [0] Markdown(str)\n", + " [1] Row\n", + " [0] Column\n", + " [0] Column()\n", + " [1] Row\n", + " [0] HoloViews(Curve, name='interactive01449')\n", + " [1] Column\n", + " [0] Markdown(str)\n", + " [1] Row\n", + " [0] Column\n", + " [0] Column()\n", + " [1] Row\n", + " [0] HoloViews(NdOverlay, name='interactive01536')\n", + " [2] Row\n", + " [0] Column\n", + " [0] Column()\n", + " [1] Row\n", + " [0] Plotly(Figure, name='interactive02487')\n", + " [2] Column\n", + " [0] Markdown(str)\n", + " [1] Row\n", + " [0] Column\n", + " [0] Column()\n", + " [1] Row\n", + " [0] Column\n", + " [0] Column\n", + " [0] DiscreteSlider(formatter='%d', name='year', options=[2019, 2018, 2017, ...], value=2019)\n", + " [1] Row\n", + " [0] HoloViews(Bars, name='interactive02388')\n", + " [3] Column\n", + " [0] Markdown(str)\n", + " [1] Row\n", + " [0] Column\n", + " [0] Column()\n", + " [1] Row\n", + " [0] Plotly(Figure, name='interactive02480')" + ] + }, + "execution_count": 13, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "1001" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "tabs.servable()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pyvizenv2", + "language": "python", + "name": "pyvizenv2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/data_exploration_cleanup.ipynb b/data_exploration_cleanup.ipynb new file mode 100644 index 0000000..83d26e7 --- /dev/null +++ b/data_exploration_cleanup.ipynb @@ -0,0 +1,8661 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "\n", + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " var force = true;\n", + "\n", + " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", + " root._bokeh_onload_callbacks = [];\n", + " root._bokeh_is_loading = undefined;\n", + " }\n", + "\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls == null || js_urls.length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + "\n", + " function on_error() {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " for (var i = 0; i < css_urls.length; i++) {\n", + " var url = css_urls[i];\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " if (window.requirejs) {\n", + " require([], function() {\n", + " run_callbacks();\n", + " })\n", + " } else {\n", + " var skip = [];\n", + " for (var i = 0; i < js_urls.length; i++) {\n", + " var url = js_urls[i];\n", + " if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " var js_urls = [];\n", + " var css_urls = [];\n", + "\n", + " var inline_js = [\n", + " function(Bokeh) {\n", + " inject_raw_css(\"table.panel-df {\\n margin-left: auto;\\n margin-right: auto;\\n border: none;\\n border-collapse: collapse;\\n border-spacing: 0;\\n color: black;\\n font-size: 12px;\\n table-layout: fixed;\\n width: 100%;\\n}\\n\\n.panel-df tr, .panel-df th, .panel-df td {\\n text-align: right;\\n vertical-align: middle;\\n padding: 0.5em 0.5em !important;\\n line-height: normal;\\n white-space: normal;\\n max-width: none;\\n border: none;\\n}\\n\\n.panel-df tbody {\\n display: table-row-group;\\n vertical-align: middle;\\n border-color: inherit;\\n}\\n\\n.panel-df tbody tr:nth-child(odd) {\\n background: #f5f5f5;\\n}\\n\\n.panel-df thead {\\n border-bottom: 1px solid black;\\n vertical-align: bottom;\\n}\\n\\n.panel-df tr:hover {\\n background: lightblue !important;\\n cursor: pointer;\\n}\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " inject_raw_css(\".json-formatter-row {\\n font-family: monospace;\\n}\\n.json-formatter-row,\\n.json-formatter-row a,\\n.json-formatter-row a:hover {\\n color: black;\\n text-decoration: none;\\n}\\n.json-formatter-row .json-formatter-row {\\n margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty {\\n opacity: 0.5;\\n margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n display: none;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n content: \\\"No properties\\\";\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n content: \\\"[]\\\";\\n}\\n.json-formatter-row .json-formatter-string,\\n.json-formatter-row .json-formatter-stringifiable {\\n color: green;\\n white-space: pre;\\n word-wrap: break-word;\\n}\\n.json-formatter-row .json-formatter-number {\\n color: blue;\\n}\\n.json-formatter-row .json-formatter-boolean {\\n color: red;\\n}\\n.json-formatter-row .json-formatter-null {\\n color: #855A00;\\n}\\n.json-formatter-row .json-formatter-undefined {\\n color: #ca0b69;\\n}\\n.json-formatter-row .json-formatter-function {\\n color: #FF20ED;\\n}\\n.json-formatter-row .json-formatter-date {\\n background-color: rgba(0, 0, 0, 0.05);\\n}\\n.json-formatter-row .json-formatter-url {\\n text-decoration: underline;\\n color: blue;\\n cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-bracket {\\n color: blue;\\n}\\n.json-formatter-row .json-formatter-key {\\n color: #00008B;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler-link {\\n cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-toggler {\\n line-height: 1.2rem;\\n font-size: 0.7rem;\\n vertical-align: middle;\\n opacity: 0.6;\\n cursor: pointer;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler:after {\\n display: inline-block;\\n transition: transform 100ms ease-in;\\n content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-row > a > .json-formatter-preview-text {\\n opacity: 0;\\n transition: opacity 0.15s ease-in;\\n font-style: italic;\\n}\\n.json-formatter-row:hover > a > .json-formatter-preview-text {\\n opacity: 0.6;\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n transform: rotate(90deg);\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n display: inline-block;\\n}\\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n display: none;\\n}\\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n display: block;\\n}\\n.json-formatter-dark.json-formatter-row {\\n font-family: monospace;\\n}\\n.json-formatter-dark.json-formatter-row,\\n.json-formatter-dark.json-formatter-row a,\\n.json-formatter-dark.json-formatter-row a:hover {\\n color: white;\\n text-decoration: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-row {\\n margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\\n opacity: 0.5;\\n margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n display: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n content: \\\"No properties\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n content: \\\"[]\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-string,\\n.json-formatter-dark.json-formatter-row .json-formatter-stringifiable {\\n color: #31F031;\\n white-space: pre;\\n word-wrap: break-word;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-number {\\n color: #66C2FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\\n color: #EC4242;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-null {\\n color: #EEC97D;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\\n color: #ef8fbe;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-function {\\n color: #FD48CB;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-date {\\n background-color: rgba(255, 255, 255, 0.05);\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-url {\\n text-decoration: underline;\\n color: #027BFF;\\n cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\\n color: #9494FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-key {\\n color: #23A0DB;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler-link {\\n cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\\n line-height: 1.2rem;\\n font-size: 0.7rem;\\n vertical-align: middle;\\n opacity: 0.6;\\n cursor: pointer;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\\n display: inline-block;\\n transition: transform 100ms ease-in;\\n content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\\n opacity: 0;\\n transition: opacity 0.15s ease-in;\\n font-style: italic;\\n}\\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\\n opacity: 0.6;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n transform: rotate(90deg);\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n display: inline-block;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n display: none;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n display: block;\\n}\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " inject_raw_css(\".codehilite .hll { background-color: #ffffcc }\\n.codehilite { background: #f8f8f8; }\\n.codehilite .c { color: #408080; font-style: italic } /* Comment */\\n.codehilite .err { border: 1px solid #FF0000 } /* Error */\\n.codehilite .k { color: #008000; font-weight: bold } /* Keyword */\\n.codehilite .o { color: #666666 } /* Operator */\\n.codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\\n.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */\\n.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */\\n.codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\\n.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */\\n.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */\\n.codehilite .gd { color: #A00000 } /* Generic.Deleted */\\n.codehilite .ge { font-style: italic } /* Generic.Emph */\\n.codehilite .gr { color: #FF0000 } /* Generic.Error */\\n.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */\\n.codehilite .gi { color: #00A000 } /* Generic.Inserted */\\n.codehilite .go { color: #888888 } /* Generic.Output */\\n.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\\n.codehilite .gs { font-weight: bold } /* Generic.Strong */\\n.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\\n.codehilite .gt { color: #0044DD } /* Generic.Traceback */\\n.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\\n.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\\n.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\\n.codehilite .kp { color: #008000 } /* Keyword.Pseudo */\\n.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\\n.codehilite .kt { color: #B00040 } /* Keyword.Type */\\n.codehilite .m { color: #666666 } /* Literal.Number */\\n.codehilite .s { color: #BA2121 } /* Literal.String */\\n.codehilite .na { color: #7D9029 } /* Name.Attribute */\\n.codehilite .nb { color: #008000 } /* Name.Builtin */\\n.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */\\n.codehilite .no { color: #880000 } /* Name.Constant */\\n.codehilite .nd { color: #AA22FF } /* Name.Decorator */\\n.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */\\n.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\\n.codehilite .nf { color: #0000FF } /* Name.Function */\\n.codehilite .nl { color: #A0A000 } /* Name.Label */\\n.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\\n.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */\\n.codehilite .nv { color: #19177C } /* Name.Variable */\\n.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\\n.codehilite .w { color: #bbbbbb } /* Text.Whitespace */\\n.codehilite .mb { color: #666666 } /* Literal.Number.Bin */\\n.codehilite .mf { color: #666666 } /* Literal.Number.Float */\\n.codehilite .mh { color: #666666 } /* Literal.Number.Hex */\\n.codehilite .mi { color: #666666 } /* Literal.Number.Integer */\\n.codehilite .mo { color: #666666 } /* Literal.Number.Oct */\\n.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */\\n.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */\\n.codehilite .sc { color: #BA2121 } /* Literal.String.Char */\\n.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */\\n.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\\n.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */\\n.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\\n.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */\\n.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\\n.codehilite .sx { color: #008000 } /* Literal.String.Other */\\n.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */\\n.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */\\n.codehilite .ss { color: #19177C } /* Literal.String.Symbol */\\n.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */\\n.codehilite .fm { color: #0000FF } /* Name.Function.Magic */\\n.codehilite .vc { color: #19177C } /* Name.Variable.Class */\\n.codehilite .vg { color: #19177C } /* Name.Variable.Global */\\n.codehilite .vi { color: #19177C } /* Name.Variable.Instance */\\n.codehilite .vm { color: #19177C } /* Name.Variable.Magic */\\n.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */\\n\\n.markdown h1 { margin-block-start: 0.34em }\\n.markdown h2 { margin-block-start: 0.42em }\\n.markdown h3 { margin-block-start: 0.5em }\\n.markdown h4 { margin-block-start: 0.67em }\\n.markdown h5 { margin-block-start: 0.84em }\\n.markdown h6 { margin-block-start: 1.17em }\\n.markdown ul { padding-inline-start: 2em }\\n.markdown ol { padding-inline-start: 2em }\\n.markdown strong { font-weight: 600 }\\n.markdown a { color: -webkit-link }\\n.markdown a { color: -moz-hyperlinkText }\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " inject_raw_css(\".panel-widget-box {\\n\\tmin-height: 20px;\\n\\tbackground-color: #f5f5f5;\\n\\tborder: 1px solid #e3e3e3 !important;\\n\\tborder-radius: 4px;\\n\\t-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);\\n\\tbox-shadow: inset 0 1px 1px rgba(0,0,0,.05);\\n\\toverflow-x: hidden;\\n\\toverflow-y: hidden;\\n}\\n\\n.scrollable {\\n overflow: scroll;\\n}\\n\\nprogress {\\n\\tappearance: none;\\n\\t-moz-appearance: none;\\n\\t-webkit-appearance: none;\\n\\n\\tborder: none;\\n\\theight: 20px;\\n\\tbackground-color: whiteSmoke;\\n\\tborder-radius: 3px;\\n\\tbox-shadow: 0 2px 3px rgba(0,0,0,.5) inset;\\n\\tcolor: royalblue;\\n\\tposition: relative;\\n\\tmargin: 0 0 1.5em;\\n}\\n\\nprogress[value]::-webkit-progress-bar {\\n\\tbackground-color: whiteSmoke;\\n\\tborder-radius: 3px;\\n\\tbox-shadow: 0 2px 3px rgba(0,0,0,.5) inset;\\n}\\n\\nprogress[value]::-webkit-progress-value {\\n\\tposition: relative;\\n\\n\\tbackground-size: 35px 20px, 100% 100%, 100% 100%;\\n\\tborder-radius:3px;\\n}\\n\\nprogress.active:not([value])::before {\\n\\tbackground-position: 10%;\\n\\tanimation-name: stripes;\\n\\tanimation-duration: 3s;\\n\\tanimation-timing-function: linear;\\n\\tanimation-iteration-count: infinite;\\n}\\n\\nprogress[value]::-moz-progress-bar {\\n\\tbackground-size: 35px 20px, 100% 100%, 100% 100%;\\n\\tborder-radius:3px;\\n}\\n\\nprogress:not([value])::-moz-progress-bar {\\n\\tborder-radius:3px;\\n\\tbackground:\\n\\tlinear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n\\n}\\n\\nprogress.active:not([value])::-moz-progress-bar {\\n\\tbackground-position: 10%;\\n\\tanimation-name: stripes;\\n\\tanimation-duration: 3s;\\n\\tanimation-timing-function: linear;\\n\\tanimation-iteration-count: infinite;\\n}\\n\\nprogress.active:not([value])::-webkit-progress-bar {\\n\\tbackground-position: 10%;\\n\\tanimation-name: stripes;\\n\\tanimation-duration: 3s;\\n\\tanimation-timing-function: linear;\\n\\tanimation-iteration-count: infinite;\\n}\\n\\nprogress.primary[value]::-webkit-progress-value { background-color: #007bff; }\\nprogress.primary:not([value])::before { background-color: #007bff; }\\nprogress.primary:not([value])::-webkit-progress-bar { background-color: #007bff; }\\nprogress.primary::-moz-progress-bar { background-color: #007bff; }\\n\\nprogress.secondary[value]::-webkit-progress-value { background-color: #6c757d; }\\nprogress.secondary:not([value])::before { background-color: #6c757d; }\\nprogress.secondary:not([value])::-webkit-progress-bar { background-color: #6c757d; }\\nprogress.secondary::-moz-progress-bar { background-color: #6c757d; }\\n\\nprogress.success[value]::-webkit-progress-value { background-color: #28a745; }\\nprogress.success:not([value])::before { background-color: #28a745; }\\nprogress.success:not([value])::-webkit-progress-bar { background-color: #28a745; }\\nprogress.success::-moz-progress-bar { background-color: #28a745; }\\n\\nprogress.danger[value]::-webkit-progress-value { background-color: #dc3545; }\\nprogress.danger:not([value])::before { background-color: #dc3545; }\\nprogress.danger:not([value])::-webkit-progress-bar { background-color: #dc3545; }\\nprogress.danger::-moz-progress-bar { background-color: #dc3545; }\\n\\nprogress.warning[value]::-webkit-progress-value { background-color: #ffc107; }\\nprogress.warning:not([value])::before { background-color: #ffc107; }\\nprogress.warning:not([value])::-webkit-progress-bar { background-color: #ffc107; }\\nprogress.warning::-moz-progress-bar { background-color: #ffc107; }\\n\\nprogress.info[value]::-webkit-progress-value { background-color: #17a2b8; }\\nprogress.info:not([value])::before { background-color: #17a2b8; }\\nprogress.info:not([value])::-webkit-progress-bar { background-color: #17a2b8; }\\nprogress.info::-moz-progress-bar { background-color: #17a2b8; }\\n\\nprogress.light[value]::-webkit-progress-value { background-color: #f8f9fa; }\\nprogress.light:not([value])::before { background-color: #f8f9fa; }\\nprogress.light:not([value])::-webkit-progress-bar { background-color: #f8f9fa; }\\nprogress.light::-moz-progress-bar { background-color: #f8f9fa; }\\n\\nprogress.dark[value]::-webkit-progress-value { background-color: #343a40; }\\nprogress.dark:not([value])::-webkit-progress-bar { background-color: #343a40; }\\nprogress.dark:not([value])::before { background-color: #343a40; }\\nprogress.dark::-moz-progress-bar { background-color: #343a40; }\\n\\nprogress:not([value])::-webkit-progress-bar {\\n\\tborder-radius: 3px;\\n\\tbackground:\\n\\tlinear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\nprogress:not([value])::before {\\n\\tcontent:\\\" \\\";\\n\\tposition:absolute;\\n\\theight: 20px;\\n\\ttop:0;\\n\\tleft:0;\\n\\tright:0;\\n\\tbottom:0;\\n\\tborder-radius: 3px;\\n\\tbackground:\\n\\tlinear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\n\\n@keyframes stripes {\\n from {background-position: 0%}\\n to {background-position: 100%}\\n}\\n\");\n", + " },\n", + " function(Bokeh) {\n", + " /* BEGIN bokeh.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " const bokeh = factory();\n", + " bokeh.__bokeh__ = true;\n", + " if (typeof root.Bokeh === \"undefined\" || typeof root.Bokeh.__bokeh__ === \"undefined\") {\n", + " root.Bokeh = bokeh;\n", + " }\n", + " const Bokeh = root.Bokeh;\n", + " Bokeh[bokeh.version] = bokeh;\n", + " })(this, function() {\n", + " var define;\n", + " var parent_require = typeof require === \"function\" && require\n", + " return (function(modules, entry, aliases, externals) {\n", + " if (aliases === undefined) aliases = {};\n", + " if (externals === undefined) externals = {};\n", + "\n", + " var cache = {};\n", + "\n", + " var normalize = function(name) {\n", + " if (typeof name === \"number\")\n", + " return name;\n", + "\n", + " if (name === \"bokehjs\")\n", + " return entry;\n", + "\n", + " var prefix = \"@bokehjs/\"\n", + " if (name.slice(0, prefix.length) === prefix)\n", + " name = name.slice(prefix.length)\n", + "\n", + " var alias = aliases[name]\n", + " if (alias != null)\n", + " return alias;\n", + "\n", + " var trailing = name.length > 0 && name[name.lenght-1] === \"/\";\n", + " var index = aliases[name + (trailing ? \"\" : \"/\") + \"index\"];\n", + " if (index != null)\n", + " return index;\n", + "\n", + " return name;\n", + " }\n", + "\n", + " var require = function(name) {\n", + " var mod = cache[name];\n", + " if (!mod) {\n", + " var id = normalize(name);\n", + "\n", + " mod = cache[id];\n", + " if (!mod) {\n", + " if (!modules[id]) {\n", + " if (externals[id] === false || (externals[id] == true && parent_require)) {\n", + " try {\n", + " mod = {exports: externals[id] ? parent_require(id) : {}};\n", + " cache[id] = cache[name] = mod;\n", + " return mod.exports;\n", + " } catch (e) {}\n", + " }\n", + "\n", + " var err = new Error(\"Cannot find module '\" + name + \"'\");\n", + " err.code = 'MODULE_NOT_FOUND';\n", + " throw err;\n", + " }\n", + "\n", + " mod = {exports: {}};\n", + " cache[id] = cache[name] = mod;\n", + " modules[id].call(mod.exports, require, mod, mod.exports);\n", + " } else\n", + " cache[name] = mod;\n", + " }\n", + "\n", + " return mod.exports;\n", + " }\n", + " require.resolve = function(name) {\n", + " return \"\"\n", + " }\n", + "\n", + " var main = require(entry);\n", + " main.require = require;\n", + "\n", + " if (typeof Proxy !== \"undefined\") {\n", + " // allow Bokeh.loader[\"@bokehjs/module/name\"] syntax\n", + " main.loader = new Proxy({}, {\n", + " get: function(_obj, module) {\n", + " return require(module);\n", + " }\n", + " });\n", + " }\n", + "\n", + " main.register_plugin = function(plugin_modules, plugin_entry, plugin_aliases, plugin_externals) {\n", + " if (plugin_aliases === undefined) plugin_aliases = {};\n", + " if (plugin_externals === undefined) plugin_externals = {};\n", + "\n", + " for (var name in plugin_modules) {\n", + " modules[name] = plugin_modules[name];\n", + " }\n", + "\n", + " for (var name in plugin_aliases) {\n", + " aliases[name] = plugin_aliases[name];\n", + " }\n", + "\n", + " for (var name in plugin_externals) {\n", + " externals[name] = plugin_externals[name];\n", + " }\n", + "\n", + " var plugin = require(plugin_entry);\n", + "\n", + " for (var name in plugin) {\n", + " main[name] = plugin[name];\n", + " }\n", + "\n", + " return plugin;\n", + " }\n", + "\n", + " return main;\n", + " })\n", + " ([\n", + " function _(e,t,_){Object.defineProperty(_,\"__esModule\",{value:!0});e(1).__exportStar(e(2),_)},\n", + " function _(t,e,n){\n", + " /*! *****************************************************************************\n", + " Copyright (c) Microsoft Corporation.\n", + " \n", + " Permission to use, copy, modify, and/or distribute this software for any\n", + " purpose with or without fee is hereby granted.\n", + " \n", + " THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n", + " REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n", + " AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n", + " INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n", + " LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n", + " OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n", + " PERFORMANCE OF THIS SOFTWARE.\n", + " ***************************************************************************** */\n", + " Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function o(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function a(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function i(t){return this instanceof i?(this.v=t,this):new i(t)}n.__extends=function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},n.__assign=function(){return n.__assign=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=0;u--)(o=t[u])&&(i=(a<3?o(i):a>3?o(e,n,i):o(e,n))||i);return a>3&&i&&Object.defineProperty(e,n,i),i},n.__param=function(t,e){return function(n,r){e(n,r,t)}},n.__metadata=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},n.__awaiter=function(t,e,n,r){return new(n||(n=Promise))((function(o,a){function i(t){try{c(r.next(t))}catch(t){a(t)}}function u(t){try{c(r.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,u)}c((r=r.apply(t,e||[])).next())}))},n.__generator=function(t,e){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(n)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]1||c(t,e)}))})}function c(t,e){try{(n=o[t](e)).value instanceof i?Promise.resolve(n.value.v).then(f,l):s(a[0][2],n)}catch(t){s(a[0][3],t)}var n}function f(t){c(\"next\",t)}function l(t){c(\"throw\",t)}function s(t,e){t(e),a.shift(),a.length&&c(a[0][0],a[0][1])}},n.__asyncDelegator=function(t){var e,n;return e={},r(\"next\"),r(\"throw\",(function(t){throw t})),r(\"return\"),e[Symbol.iterator]=function(){return this},e;function r(r,o){e[r]=t[r]?function(e){return(n=!n)?{value:i(t[r](e)),done:\"return\"===r}:o?o(e):e}:o}},n.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=o(t),e={},r(\"next\"),r(\"throw\"),r(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,o){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,o,(e=t[n](e)).done,e.value)}))}}},n.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t},n.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e},n.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},n.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)},n.__classPrivateFieldSet=function(t,e,n){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,n),n}},\n", + " function _(e,r,t){var l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r};Object.defineProperty(t,\"__esModule\",{value:!0});var o=e(3);t.version=o.version;var s=e(4);t.index=s.index,t.embed=l(e(4)),t.protocol=l(e(390)),t._testing=l(e(391));var n=e(19);t.logger=n.logger,t.set_log_level=n.set_log_level;var a=e(27);t.settings=a.settings;var i=e(7);t.Models=i.Models;var v=e(5);t.documents=v.documents;var _=e(392);t.safely=_.safely},\n", + " function _(e,n,o){Object.defineProperty(o,\"__esModule\",{value:!0}),o.version=\"2.2.3\"},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(5),s=e(19),r=e(29),d=e(13),_=e(8),c=e(16),i=e(381),a=e(383),u=e(382);var l=e(381);t.add_document_standalone=l.add_document_standalone,t.index=l.index;var m=e(383);t.add_document_from_session=m.add_document_from_session;var f=e(388);t.embed_items_notebook=f.embed_items_notebook,t.kernels=f.kernels;var g=e(382);async function O(e,o,t,c){_.isString(e)&&(e=JSON.parse(r.unescape(e)));const l={};for(const[o,t]of d.entries(e))l[o]=n.Document.from_json(t);const m=[];for(const e of o){const o=u._resolve_element(e),n=u._resolve_root_elements(e);if(null!=e.docid)m.push(await i.add_document_standalone(l[e.docid],o,n,e.use_for_title));else{if(null==e.token)throw new Error(\"Error rendering Bokeh items: either 'docid' or 'token' was expected.\");{const r=a._get_ws_url(t,c);s.logger.debug(\"embed: computed ws url: \"+r);try{m.push(await a.add_document_from_session(r,e.token,o,n,e.use_for_title)),console.log(\"Bokeh items were rendered successfully\")}catch(e){console.log(\"Error rendering Bokeh items:\",e)}}}}return m}t.BOKEH_ROOT=g.BOKEH_ROOT,t.embed_item=async function(e,o){const t={},n=r.uuid4();t[n]=e.doc,null==o&&(o=e.target_id);const s=document.getElementById(o);null!=s&&s.classList.add(u.BOKEH_ROOT);const d={roots:{[e.root_id]:o},root_ids:[e.root_id],docid:n},[_]=await c.defer(()=>O(t,[d]));return _},t.embed_items=async function(e,o,t,n){return await c.defer(()=>O(e,o,t,n))}},\n", + " function _(e,t,_){Object.defineProperty(_,\"__esModule\",{value:!0});const o=e(1);o.__exportStar(e(6),_),o.__exportStar(e(121),_)},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),n=e(7),r=e(3),i=e(19),_=e(313),a=e(14),l=e(15),c=e(17),h=e(31),d=e(9),f=e(13),u=o.__importStar(e(120)),m=e(25),g=e(8),p=e(272),w=e(85),v=e(81),b=e(121);class y{constructor(e){this.document=e,this.session=null,this.subscribed_models=new Set}send_event(e){const t=new b.MessageSentEvent(this.document,\"bokeh_event\",e.to_json());this.document._trigger_on_change(t)}trigger(e){for(const t of this.subscribed_models)null!=e.origin&&e.origin!=t||t._process_event(e)}}s.EventManager=y,y.__name__=\"EventManager\",s.documents=[],s.DEFAULT_TITLE=\"Bokeh Application\";class j{constructor(){s.documents.push(this),this._init_timestamp=Date.now(),this._title=s.DEFAULT_TITLE,this._roots=[],this._all_models=new Map,this._all_models_freeze_count=0,this._callbacks=new Map,this._message_callbacks=new Map,this.event_manager=new y(this),this.idle=new l.Signal0(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}get layoutables(){return this._roots.filter(e=>e instanceof p.LayoutDOM)}get is_idle(){for(const e of this.layoutables)if(!this._idle_roots.has(e))return!1;return!0}notify_idle(e){this._idle_roots.set(e,!0),this.is_idle&&(i.logger.info(`document idle at ${Date.now()-this._init_timestamp} ms`),this.event_manager.send_event(new _.DocumentReady),this.idle.emit())}clear(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}}interactive_start(e){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new _.LODStart)),this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&this._interactive_plot.trigger_event(new _.LODEnd),this._interactive_plot=null,this._interactive_timestamp=null}interactive_duration(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp}destructively_move(e){if(e===this)throw new Error(\"Attempted to overwrite a document with itself\");e.clear();const t=d.copy(this._roots);this.clear();for(const e of t)if(null!=e.document)throw new Error(\"Somehow we didn't detach \"+e);if(0!=this._all_models.size)throw new Error(\"this._all_models still had stuff in it: \"+this._all_models);for(const s of t)e.add_root(s);e.set_title(this._title)}_push_all_models_freeze(){this._all_models_freeze_count+=1}_pop_all_models_freeze(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()}_invalidate_all_models(){i.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()}_recompute_all_models(){let e=new Set;for(const t of this._roots)e=u.union(e,t.references());const t=new Set(this._all_models.values()),s=u.difference(t,e),o=u.difference(e,t),n=new Map;for(const t of e)n.set(t.id,t);for(const e of s)e.detach_document();for(const e of o)e.attach_document(this);this._all_models=n}roots(){return this._roots}add_root(e,t){if(i.logger.debug(\"Adding root: \"+e),!d.includes(this._roots,e)){this._push_all_models_freeze();try{this._roots.push(e)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new b.RootAddedEvent(this,e,t))}}remove_root(e,t){const s=this._roots.indexOf(e);if(!(s<0)){this._push_all_models_freeze();try{this._roots.splice(s,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new b.RootRemovedEvent(this,e,t))}}title(){return this._title}set_title(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new b.TitleChangedEvent(this,e,t)))}get_model_by_id(e){var t;return null!==(t=this._all_models.get(e))&&void 0!==t?t:null}get_model_by_name(e){const t=[];for(const s of this._all_models.values())s instanceof v.Model&&s.name==e&&t.push(s);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(`Multiple models are named '${e}'`)}}on_message(e,t){const s=this._message_callbacks.get(e);null==s?this._message_callbacks.set(e,new Set([t])):s.add(t)}remove_on_message(e,t){var s;null===(s=this._message_callbacks.get(e))||void 0===s||s.delete(t)}_trigger_on_message(e,t){const s=this._message_callbacks.get(e);if(null!=s)for(const e of s)e(t)}on_change(e,t=!1){this._callbacks.has(e)||this._callbacks.set(e,t)}remove_on_change(e){this._callbacks.delete(e)}_trigger_on_change(e){for(const[t,s]of this._callbacks)if(!s&&e instanceof b.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_notify_change(e,t,s,o,n){this._trigger_on_change(new b.ModelChangedEvent(this,e,t,s,o,null==n?void 0:n.setter_id,null==n?void 0:n.hint))}static _references_json(e,t=!0){const s=[];for(const o of e){const e=o.struct();e.attributes=o.attributes_as_json(t),delete e.attributes.id,s.push(e)}return s}static _instantiate_object(e,t,s){const o=Object.assign(Object.assign({},s),{id:e,__deferred__:!0});return new(n.Models(t))(o)}static _instantiate_references_json(e,t){const s=new Map;for(const o of e){const e=o.id,n=o.type,r=o.attributes||{};let i=t.get(e);null==i&&(i=j._instantiate_object(e,n,r),null!=o.subtype&&i.set_subtype(o.subtype)),s.set(i.id,i)}return s}static _resolve_refs(e,t,s,o){function n(e){if(c.is_ref(e)){if(t.has(e.id))return t.get(e.id);if(s.has(e.id))return s.get(e.id);throw new Error(`reference ${JSON.stringify(e)} isn't known (not in Document?)`)}return h.is_NDArray_ref(e)?h.decode_NDArray(e,o):g.isArray(e)?function(e){const t=[];for(const s of e)t.push(n(s));return t}(e):g.isPlainObject(e)?function(e){const t={};for(const[s,o]of f.entries(e))t[s]=n(o);return t}(e):e}return n(e)}static _initialize_references_json(e,t,s,o){const n=new Map;for(const{id:r,attributes:i}of e){const e=!t.has(r),_=e?s.get(r):t.get(r),a=j._resolve_refs(i,t,s,o);_.setv(a,{silent:!0}),n.set(r,{instance:_,is_new:e})}const r=[],i=new Set;function _(e){if(e instanceof a.HasProps){if(n.has(e.id)&&!i.has(e.id)){i.add(e.id);const{instance:t,is_new:s}=n.get(e.id),{attributes:o}=t;for(const e of f.values(o))_(e);s&&(t.finalize(),r.push(t))}}else if(g.isArray(e))for(const t of e)_(t);else if(g.isPlainObject(e))for(const t of f.values(e))_(t)}for(const e of n.values())_(e.instance);for(const e of r)e.connect_signals()}static _event_for_attribute_change(e,t,s,o,n){if(o.get_model_by_id(e.id).property(t).syncable){const r={kind:\"ModelChanged\",model:{id:e.id},attr:t,new:s};return a.HasProps._json_record_references(o,s,n,{recursive:!0}),r}return null}static _events_to_sync_objects(e,t,s,o){const n=Object.keys(e.attributes),r=Object.keys(t.attributes),_=d.difference(n,r),a=d.difference(r,n),l=d.intersection(n,r),c=[];for(const e of _)i.logger.warn(`Server sent key ${e} but we don't seem to have it in our JSON`);for(const n of a){const r=t.attributes[n];c.push(j._event_for_attribute_change(e,n,r,s,o))}for(const n of l){const r=e.attributes[n],i=t.attributes[n];null==r&&null==i||(null==r||null==i?c.push(j._event_for_attribute_change(e,n,i,s,o)):m.isEqual(r,i)||c.push(j._event_for_attribute_change(e,n,i,s,o)))}return c.filter(e=>null!=e)}static _compute_patch_since_json(e,t){const s=t.to_json(!1);function o(e){const t=new Map;for(const s of e.roots.references)t.set(s.id,s);return t}const n=o(e),r=new Map,i=[];for(const t of e.roots.root_ids)r.set(t,n.get(t)),i.push(t);const _=o(s),a=new Map,l=[];for(const e of s.roots.root_ids)a.set(e,_.get(e)),l.push(e);if(i.sort(),l.sort(),d.difference(i,l).length>0||d.difference(l,i).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");const c=new Set;let h=[];for(const e of t._all_models.keys())if(n.has(e)){const s=j._events_to_sync_objects(n.get(e),_.get(e),t,c);h=h.concat(s)}return{references:j._references_json(c,!1),events:h}}to_json_string(e=!0){return JSON.stringify(this.to_json(e))}to_json(e=!0){const t=this._roots.map(e=>e.id),s=this._all_models.values();return{version:r.version,title:this._title,roots:{root_ids:t,references:j._references_json(s,e)}}}static from_json_string(e){const t=JSON.parse(e);return j.from_json(t)}static from_json(e){i.logger.debug(\"Creating Document from JSON\");const t=e.version,s=-1!==t.indexOf(\"+\")||-1!==t.indexOf(\"-\"),o=`Library versions: JS (${r.version}) / Python (${t})`;s||r.version.replace(/-(dev|rc)\\./,\"$1\")==t?i.logger.debug(o):(i.logger.warn(\"JS/Python version mismatch\"),i.logger.warn(o));const n=e.roots,_=n.root_ids,a=n.references,l=j._instantiate_references_json(a,new Map);j._initialize_references_json(a,new Map,l,new Map);const c=new j;for(const e of _){const t=l.get(e);null!=t&&c.add_root(t)}return c.set_title(e.title),c}replace_with_json(e){j.from_json(e).destructively_move(this)}create_json_patch_string(e){return JSON.stringify(this.create_json_patch(e))}create_json_patch(e){const t=new Set,s=[];for(const o of e){if(o.document!==this)throw i.logger.warn(\"Cannot create a patch using events from a different document, event had \",o.document,\" we are \",this),new Error(\"Cannot create a patch using events from a different document\");s.push(o.json(t))}return{events:s,references:j._references_json(t)}}apply_json_patch(e,t=new Map,s){const o=e.references,n=e.events,r=j._instantiate_references_json(o,this._all_models);t instanceof Map||(t=new Map(t));for(const e of n)switch(e.kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":{const t=e.model.id,s=this._all_models.get(t);if(null!=s)r.set(t,s);else if(!r.has(t))throw i.logger.warn(`Got an event for unknown model ${e.model}\"`),new Error(\"event model wasn't known\");break}}const _=new Map,a=new Map;for(const[e,t]of r)this._all_models.has(e)?_.set(e,t):a.set(e,t);j._initialize_references_json(o,_,a,t);for(const e of n)switch(e.kind){case\"MessageSent\":{const{msg_type:s,msg_data:o}=e;let n;if(void 0===o){if(1!=t.size)throw new Error(\"expected exactly one buffer\");{const[[,e]]=t;n=e}}else n=j._resolve_refs(o,_,a,t);this._trigger_on_message(s,n);break}case\"ModelChanged\":{const o=e.model.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot apply patch to ${o} which is not in the document`);const r=e.attr,i=j._resolve_refs(e.new,_,a,t);n.setv({[r]:i},{setter_id:s});break}case\"ColumnDataChanged\":{const o=e.column_source.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot stream to ${o} which is not in the document`);const r=j._resolve_refs(e.new,new Map,new Map,t);if(null!=e.cols)for(const e in n.data)e in r||(r[e]=n.data[e]);n.setv({data:r},{setter_id:s,check_eq:!1});break}case\"ColumnsStreamed\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot stream to ${t} which is not in the document`);if(!(o instanceof w.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");const n=e.data,r=e.rollover;o.stream(n,r,s);break}case\"ColumnsPatched\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot patch ${t} which is not in the document`);if(!(o instanceof w.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");const n=e.patches;o.patch(n,s);break}case\"RootAdded\":{const t=e.model.id,o=r.get(t);this.add_root(o,s);break}case\"RootRemoved\":{const t=e.model.id,o=r.get(t);this.remove_root(o,s);break}case\"TitleChanged\":this.set_title(e.title,s);break;default:throw new Error(\"Unknown patch event \"+JSON.stringify(e))}}}s.Document=j,j.__name__=\"Document\"},\n", + " function _(e,r,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),t=e(8),d=e(13),i=e(14);s.overrides={};const l=new Map;s.Models=e=>{const r=s.overrides[e]||l.get(e);if(null==r)throw new Error(`Model '${e}' does not exist. This could be due to a widget or a custom model not being registered before first usage.`);return r},s.Models.register=(e,r)=>{s.overrides[e]=r},s.Models.unregister=e=>{delete s.overrides[e]},s.Models.register_models=(e,r=!1,s)=>{var o;if(null!=e)for(const n of d.values(e))if(o=n,t.isObject(o)&&o.prototype instanceof i.HasProps){const e=n.__qualified__;r||!l.has(e)?l.set(e,n):null!=s?s(e):console.warn(`Model '${e}' was already registered`)}},s.register_models=s.Models.register_models,s.Models.registered_names=()=>Array.from(l.keys());const n=o.__importStar(e(34));s.register_models(n)},\n", + " function _(n,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});\n", + " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " const e=n(9),i=Object.prototype.toString;function o(n){return\"[object Number]\"===i.call(n)}function c(n){const t=typeof n;return\"function\"===t||\"object\"===t&&!!n}r.isBoolean=function(n){return!0===n||!1===n||\"[object Boolean]\"===i.call(n)},r.isNumber=o,r.isInteger=function(n){return o(n)&&Number.isInteger(n)},r.isString=function(n){return\"[object String]\"===i.call(n)},r.isFunction=function(n){return\"[object Function]\"===i.call(n)},r.isArray=function(n){return Array.isArray(n)},r.isArrayOf=function(n,t){return e.every(n,t)},r.isArrayableOf=function(n,t){for(let r=0,e=n.length;r0,\"'step' must be a positive number\"),null==t&&(t=n,n=0);const{max:r,ceil:i,abs:u}=Math,c=n<=t?e:-e,f=r(i(u(t-n)/e),0),s=new Array(f);for(let t=0;t=0?t:n.length+t]},e.zip=function(...n){if(0==n.length)return[];const t=i.min(n.map(n=>n.length)),e=n.length,r=new Array(t);for(let o=0;on.length)),r=Array(e);for(let n=0;nn[t])},e.argmax=function(n){return i.max_by(a(n.length),t=>n[t])},e.sort_by=function(n,t){const e=n.map((n,e)=>({value:n,index:e,key:t(n)}));return e.sort((n,t)=>{const e=n.key,r=t.key;if(e!==r){if(e>r||void 0===e)return 1;if(en.value)},e.uniq=function(n){const t=new Set;for(const e of n)t.add(e);return[...t]},e.uniq_by=function(n,t){const e=[],r=[];for(const o of n){const n=t(o);s(r,n)||(r.push(n),e.push(o))}return e},e.union=function(...n){const t=new Set;for(const e of n)for(const n of e)t.add(n);return[...t]},e.intersection=function(n,...t){const e=[];n:for(const r of n)if(!s(e,r)){for(const n of t)if(!s(n,r))continue n;e.push(r)}return e},e.difference=function(n,...t){const e=f(t);return n.filter(n=>!s(e,n))},e.remove_at=function(n,t){const e=c(n);return e.splice(t,1),e},e.remove_by=function(n,t){for(let e=0;e2*Math.PI;)n-=2*Math.PI;return n}function a(n,t){return e(n-t)}function o(){return Math.random()}Object.defineProperty(r,\"__esModule\",{value:!0}),r.angle_norm=e,r.angle_dist=a,r.angle_between=function(n,t,r,o){const u=a(t,r);if(0==u)return!1;if(u==2*Math.PI)return!0;const f=e(n),i=a(t,f)<=u&&a(f,r)<=u;return 0==o?i:!i},r.random=o,r.randomIn=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},r.atan2=function(n,t){return Math.atan2(t[1]-n[1],t[0]-n[0])},r.radians=function(n){return n*(Math.PI/180)},r.degrees=function(n){return n/(Math.PI/180)},r.rnorm=function(n,t){let r,e;for(;r=o(),e=o(),e=(2*e-1)*Math.sqrt(1/Math.E*2),!(-4*r*r*Math.log(r)>=e*e););let a=e/r;return a=n+t*a,a},r.clamp=function(n,t,r){return nr?r:n}},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});class o extends Error{}n.AssertionError=o,o.__name__=\"AssertionError\",n.assert=function(e,r){if(!(!0===e||!1!==e&&e()))throw new o(null!=r?r:\"Assertion failed\")},n.unreachable=function(){throw new Error(\"unreachable code\")}},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=n(8),o=n(10);function i(n,t,e,...r){const o=n.length;t<0&&(t+=o),t<0?t=0:t>o&&(t=o),null==e||e>o-t?e=o-t:e<0&&(e=0);const i=o-e+r.length,u=new n.constructor(i);let l=0;for(;l0?0:r-1;for(;o>=0&&ot[t.length-1])return t.length;let e=0,r=t.length-1;for(;r-e!=1;){const o=e+Math.floor((r-e)/2);n>=t[o]?e=o:r=o}return e}e.is_empty=function(n){return 0==n.length},e.copy=function(n){return r.isArray(n)?n.slice():new n.constructor(n)},e.splice=i,e.head=u,e.insert=function(n,t,e){return i(n,e,0,t)},e.append=function(n,t){return i(n,n.length,0,t)},e.prepend=function(n,t){return i(n,0,0,t)},e.indexOf=function(n,t){for(let e=0,r=n.length;ee&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;or&&(r=t));return[e,r]},e.min_by=function(n,t){if(0==n.length)throw new Error(\"min_by() called with an empty array\");let e=n[0],r=t(e);for(let o=1,i=n.length;or&&(e=i,r=u)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;et[r]=n+e,0),t},e.every=function(n,t){for(let e=0,r=n.length;e(n-t)/r)}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const c=e(9);function o(e){return Object.keys(e).length}n.keys=Object.keys,n.values=Object.values,n.entries=Object.entries,n.extend=Object.assign,n.clone=function(e){return Object.assign({},e)},n.merge=function(e,t){const n=Object.create(Object.prototype),o=c.concat([Object.keys(e),Object.keys(t)]);for(const s of o){const o=e.hasOwnProperty(s)?e[s]:[],r=t.hasOwnProperty(s)?t[s]:[];n[s]=c.union(o,r)}return n},n.size=o,n.isEmpty=function(e){return 0==o(e)},n.to_object=function(e){const t={};for(const[n,c]of e)t[n]=c;return t}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const s=t(1),n=t(15),i=t(17),o=s.__importStar(t(18)),c=s.__importStar(t(21)),a=s.__importStar(t(28)),_=t(29),u=t(9),f=t(13),l=t(8),h=t(25),p=t(5),d=t(30),y=t(31),g=t(25),v=t(33),m=s.__importStar(t(21));class b extends(n.Signalable()){constructor(t={}){var e;super(),this._subtype=void 0,this.document=null,this.destroyed=new n.Signal0(this,\"destroyed\"),this.change=new n.Signal0(this,\"change\"),this.transformchange=new n.Signal0(this,\"transformchange\"),this.properties={},this._pending=!1,this._changing=!1;const r=t instanceof Map?t.get:e=>t[e];for(const[t,{type:e,default_value:s,options:n}]of f.entries(this._props)){let i;i=e instanceof c.Kind?new o.PrimitiveProperty(this,t,e,s,r(t),n):new e(this,t,c.Any,s,r(t),n),this.properties[t]=i}null!==(e=r(\"__deferred__\"))&&void 0!==e&&e||(this.finalize(),this.connect_signals())}set type(t){console.warn(\"prototype.type = 'ModelName' is deprecated, use static __name__ instead\"),this.constructor.__name__=t}get type(){return this.constructor.__qualified__}static get __qualified__(){const{__module__:t,__name__:e}=this;return null!=t?`${t}.${e}`:e}static get[Symbol.toStringTag](){return this.__name__}static init_HasProps(){this.prototype._props={},this.prototype._mixins=[],this.define({id:[o.String,()=>_.uniqueId()]})}static _fix_default(t,e){if(void 0!==t){if(l.isFunction(t))return t;if(l.isArray(t))return()=>u.copy(t);if(l.isPlainObject(t))return()=>f.clone(t);if(l.isObject(t))throw new Error(t+\" must be explicitly wrapped in a function\");return()=>t}}static define(t){for(const[e,r]of f.entries(l.isFunction(t)?t(m):t)){if(null!=this.prototype._props[e])throw new Error(`attempted to redefine property '${this.prototype.type}.${e}'`);if(null!=this.prototype[e])throw new Error(`attempted to redefine attribute '${this.prototype.type}.${e}'`);Object.defineProperty(this.prototype,e,{get(){return this.properties[e].get_value()},set(t){return this.setv({[e]:t}),this},configurable:!1,enumerable:!0});const[t,s,n]=r,i={type:t,default_value:this._fix_default(s,e),options:n},o=f.clone(this.prototype._props);o[e]=i,this.prototype._props=o}}static internal(t){const e={};for(const[r,s]of f.entries(t)){const[t,n,i={}]=s;e[r]=[t,n,Object.assign(Object.assign({},i),{internal:!0})]}this.define(e)}static mixins(t){function e(t){switch(t){case\"line\":return a.LineVector;case\"fill\":return a.FillVector;case\"hatch\":return a.HatchVector;case\"text\":return a.TextVector;default:throw new Error(`Unknown property mixin kind '${t}'`)}}function r(t,e){const r={};for(const[s,n]of f.entries(e))r[t+s]=n;return r}function s(t){const[e]=Object.keys(t),[r]=e.split(\"_\",1);return r}l.isArray(t)||(t=[t]);const n={},i=[];for(const o of t)if(l.isString(o)){const[t,s=\"\"]=o.split(\":\"),c=e(t);i.push(o),f.extend(n,r(s,c))}else if(l.isArray(o)){const[t,e]=o;i.push(`${s(e)}:${t}`),f.extend(n,r(t,e))}else{const t=o;i.push(s(t)),f.extend(n,t)}this.define(n),this.prototype._mixins=[...this.prototype._mixins,...i]}static override(t){for(const[e,r]of f.entries(t)){const t=this._fix_default(r,e),s=this.prototype._props[e];if(null==s)throw new Error(`attempted to override nonexistent '${this.prototype.type}.${e}'`);const n=f.clone(this.prototype._props);n[e]=Object.assign(Object.assign({},s),{default_value:t}),this.prototype._props=n}}toString(){return`${this.type}(${this.id})`}property(t){const e=this.properties[t];if(null!=e)return e;throw new Error(`unknown property ${this.type}.${t}`)}get attributes(){const t={};for(const e of this)t[e.attr]=e.get_value();return t}[g.equals](t,e){for(const r of this){const s=t.property(r.attr);if(e.eq(r.get_value(),s.get_value()))return!1}return!0}[v.pretty](t){const e=t.token,r=[];for(const s of this)if(s.dirty){const n=s.get_value();r.push(`${s.attr}${e(\":\")} ${t.to_string(n)}`)}return`${this.constructor.__qualified__}${e(\"(\")}${e(\"{\")}${r.join(e(\",\")+\" \")}${e(\"}\")}${e(\")\")}`}finalize(){for(const t of this)null!=t.spec.transform&&this.connect(t.spec.transform.change,()=>this.transformchange.emit());this.initialize()}initialize(){}connect_signals(){}disconnect_signals(){n.Signal.disconnectReceiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return new this.constructor(this.attributes)}_setv(t,e){const r=e.check_eq,s=[],n=this._changing;this._changing=!0;for(const[e,n]of t)!1!==r&&h.isEqual(e.get_value(),n)||(e.set_value(n),s.push(e));s.length>0&&(this._pending=!0);for(const t of s)t.change.emit();if(!n){if(!e.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}}setv(t,e={}){const r=f.entries(t);if(0==r.length)return;if(!0===e.silent){for(const[t,e]of r)this.properties[t].set_value(e);return}const s=new Map,n=new Map;for(const[t,e]of r){const r=this.properties[t];s.set(r,e),n.set(r,r.get_value())}this._setv(s,e);const{document:i}=this;if(null!=i){const t=[];for(const[e,r]of n)t.push([e,r,e.get_value()]);for(const[,e,r]of t)if(this._needs_invalidate(e,r)){i._invalidate_all_models();break}this._push_changes(t,e)}}getv(t){return this.property(t).get_value()}ref(){return{id:this.id}}struct(){const t={type:this.type,id:this.id,attributes:{}};return null!=this._subtype&&(t.subtype=this._subtype),t}set_subtype(t){this._subtype=t}*[Symbol.iterator](){yield*f.values(this.properties)}*syncable_properties(){for(const t of this)t.syncable&&(yield t)}serializable_attributes(){const t={};for(const e of this.syncable_properties())t[e.attr]=e.get_value();return t}static _value_to_json(t){if(t instanceof b)return t.ref();if(d.is_NDArray(t))return y.encode_NDArray(t);if(l.isArray(t)||l.isTypedArray(t)){const e=t.length,r=new Array(e);for(let s=0;sn.signal===t&&n.slot===e&&n.context===l)}const g=new Set;function a(n){0===g.size&&l.defer(f),g.add(n)}function f(){for(const n of g)s.remove_by(n,n=>null==n.signal);g.clear()}},\n", + " function _(n,e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.delay=\n", + " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " function(n,e){return setTimeout(n,e)};const u=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;t.defer=function(n){return new Promise(e=>{u(()=>e(n()))})},t.throttle=function(n,e,t={}){let u,o,i,r=null,l=0;const c=function(){l=!1===t.leading?0:Date.now(),r=null,i=n.apply(u,o),r||(u=o=null)};return function(){const a=Date.now();l||!1!==t.leading||(l=a);const f=e-(a-l);return u=this,o=arguments,f<=0||f>e?(r&&(clearTimeout(r),r=null),l=a,i=n.apply(u,o),r||(u=o=null)):r||!1===t.trailing||(r=setTimeout(c,f)),i}},t.once=function(n){let e,t=!1;return function(){return t||(t=!0,e=n()),e}}},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(8),r=e(13);t.is_ref=function(e){if(i.isPlainObject(e)){const n=r.keys(e);return 1==n.length&&\"id\"==n[0]}return!1}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const a=e(1),s=e(15),i=e(19),r=a.__importStar(e(20)),l=e(24),o=e(9),c=e(12),_=e(22),u=e(8),d=e(27);function p(e){try{return JSON.stringify(e)}catch(t){return e.toString()}}function S(e){return u.isPlainObject(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}n.isSpec=S;class m{constructor(e,t,n,a,i,r={}){var l,o;let c;if(this.obj=e,this.attr=t,this.kind=n,this.default_value=a,this._dirty=!1,this.change=new s.Signal0(this.obj,\"change\"),this.internal=null!==(l=r.internal)&&void 0!==l&&l,this.optional=null!==(o=r.optional)&&void 0!==o&&o,void 0!==i)c=i,this._dirty=!0;else{const t=this._default_override();c=void 0!==t?t:void 0!==a?a(e):null}this._update(c)}get is_value(){return void 0!==this.spec.value}get syncable(){return!this.internal}get_value(){return this.spec.value}set_value(e){this._update(e),this._dirty=!0}_default_override(){}get dirty(){return this._dirty}_update(e){null!=e&&this.validate(e),this.spec={value:e}}toString(){return`Prop(${this.obj}.${this.attr}, spec: ${p(this.spec)})`}normalize(e){return e}validate(e){if(!this.valid(e))throw new Error(`${this.obj.type}.${this.attr} given invalid value: ${p(e)}`)}valid(e){return this.kind.valid(e)}value(e=!0){if(!this.is_value)throw new Error(\"attempted to retrieve property value for property without value specification\");let t=this.normalize([this.spec.value])[0];return null!=this.spec.transform&&e&&(t=this.spec.transform.compute(t)),t}}n.Property=m,m.__name__=\"Property\";class h extends m{}n.PrimitiveProperty=h,h.__name__=\"PrimitiveProperty\";class v extends m{}n.Any=v,v.__name__=\"Any\";class g extends m{valid(e){return u.isArray(e)||e instanceof Float32Array||e instanceof Float64Array}}n.Array=g,g.__name__=\"Array\";class x extends m{valid(e){return u.isBoolean(e)}}n.Boolean=x,x.__name__=\"Boolean\";class y extends m{valid(e){return u.isString(e)&&_.is_color(e)}}n.Color=y,y.__name__=\"Color\";class f extends m{}n.Instance=f,f.__name__=\"Instance\";class A extends m{valid(e){return u.isNumber(e)}}n.Number=A,A.__name__=\"Number\";class P extends A{valid(e){return u.isNumber(e)&&(0|e)==e}}n.Int=P,P.__name__=\"Int\";class C extends A{}n.Angle=C,C.__name__=\"Angle\";class b extends A{valid(e){return u.isNumber(e)&&0<=e&&e<=1}}n.Percent=b,b.__name__=\"Percent\";class L extends m{valid(e){return u.isString(e)}}n.String=L,L.__name__=\"String\";class N extends m{valid(e){return null===e||u.isString(e)}}n.NullString=N,N.__name__=\"NullString\";class T extends L{}n.FontSize=T,T.__name__=\"FontSize\";class q extends L{_default_override(){return d.settings.dev?\"Bokeh\":void 0}}n.Font=q,q.__name__=\"Font\";class B extends m{valid(e){return u.isString(e)&&o.includes(this.enum_values,e)}}function M(e){return class extends B{get enum_values(){return[...e]}}}n.EnumProperty=B,B.__name__=\"EnumProperty\",n.Enum=M;class w extends B{get enum_values(){return[...r.Direction]}normalize(e){const t=new Uint8Array(e.length);for(let n=0;ne*Math.PI/180)),e=c.map(e,e=>-e),super.normalize(e)}}n.AngleSpec=re,re.__name__=\"AngleSpec\";class le extends G{get default_units(){return\"data\"}get valid_units(){return[...r.SpatialUnits]}}n.DistanceSpec=le,le.__name__=\"DistanceSpec\";class oe extends J{array(e){return new Uint8Array(super.array(e))}}n.BooleanSpec=oe,oe.__name__=\"BooleanSpec\";class ce extends J{array(e){return new l.NumberArray(super.array(e))}}n.NumberSpec=ce,ce.__name__=\"NumberSpec\";class _e extends J{array(e){const t=super.array(e),n=t.length,a=new l.ColorArray(n);for(let e=0;e0){let o=s[e];return null==o&&(s[e]=o=new r(e,l)),o}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")}get level(){return this.get_level()}get_level(){return this._log_level}set_level(e){if(e instanceof g)this._log_level=e;else{if(!n.isString(e)||null==r.log_levels[e])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=r.log_levels[e]}const l=`[${this._name}]`;for(const[e,o]of t.entries(r.log_levels))o.level\",\"*\"),t.HTTPMethod=o.Enum(\"POST\",\"GET\"),t.HexTileOrientation=o.Enum(\"pointytop\",\"flattop\"),t.HoverMode=o.Enum(\"mouse\",\"hline\",\"vline\"),t.LatLon=o.Enum(\"lat\",\"lon\"),t.LegendClickPolicy=o.Enum(\"none\",\"hide\",\"mute\"),t.LegendLocation=t.Anchor,t.LineCap=o.Enum(\"butt\",\"round\",\"square\"),t.LineJoin=o.Enum(\"miter\",\"round\",\"bevel\"),t.LinePolicy=o.Enum(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),t.Location=o.Enum(\"above\",\"below\",\"left\",\"right\"),t.Logo=o.Enum(\"normal\",\"grey\"),t.MarkerType=o.Enum(\"asterisk\",\"circle\",\"circle_cross\",\"circle_dot\",\"circle_x\",\"circle_y\",\"cross\",\"dash\",\"diamond\",\"diamond_cross\",\"diamond_dot\",\"dot\",\"hex\",\"hex_dot\",\"inverted_triangle\",\"plus\",\"square\",\"square_cross\",\"square_dot\",\"square_pin\",\"square_x\",\"triangle\",\"triangle_dot\",\"triangle_pin\",\"x\",\"y\"),t.MutedPolicy=o.Enum(\"show\",\"ignore\"),t.Orientation=o.Enum(\"vertical\",\"horizontal\"),t.OutputBackend=o.Enum(\"canvas\",\"svg\",\"webgl\"),t.PaddingUnits=o.Enum(\"percent\",\"absolute\"),t.Place=o.Enum(\"above\",\"below\",\"left\",\"right\",\"center\"),t.PointPolicy=o.Enum(\"snap_to_data\",\"follow_mouse\",\"none\"),t.RadiusDimension=o.Enum(\"x\",\"y\",\"max\",\"min\"),t.RenderLevel=o.Enum(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),t.RenderMode=o.Enum(\"canvas\",\"css\"),t.ResetPolicy=o.Enum(\"standard\",\"event_only\"),t.RoundingFunction=o.Enum(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),t.SelectionMode=o.Enum(\"replace\",\"append\",\"intersect\",\"subtract\"),t.Side=o.Enum(\"above\",\"below\",\"left\",\"right\"),t.SizingMode=o.Enum(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"),t.Sort=o.Enum(\"ascending\",\"descending\"),t.SpatialUnits=o.Enum(\"screen\",\"data\"),t.StartEnd=o.Enum(\"start\",\"end\"),t.StepMode=o.Enum(\"after\",\"before\",\"center\"),t.TapBehavior=o.Enum(\"select\",\"inspect\"),t.TextAlign=o.Enum(\"left\",\"right\",\"center\"),t.TextBaseline=o.Enum(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),t.TextureRepetition=o.Enum(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),t.TickLabelOrientation=o.Enum(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),t.TooltipAttachment=o.Enum(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),t.UpdateMode=o.Enum(\"replace\",\"append\"),t.VerticalAlign=o.Enum(\"top\",\"middle\",\"bottom\")},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1).__importStar(e(8)),r=e(22);class i{}t.Kind=i,i.__name__=\"Kind\",function(e){class n extends i{valid(e){return!0}}n.__name__=\"Any\",e.Any=n;class t extends i{valid(e){return!0}}t.__name__=\"Unknown\",e.Unknown=t;class l extends i{valid(e){return s.isBoolean(e)}}l.__name__=\"Boolean\",e.Boolean=l;class a extends i{constructor(e){super(),this.obj_type=e}valid(e){return!0}}a.__name__=\"Ref\",e.Ref=a;class _ extends i{valid(e){return s.isNumber(e)}}_.__name__=\"Number\",e.Number=_;class u extends _{valid(e){return super.valid(e)&&s.isInteger(e)}}u.__name__=\"Int\",e.Int=u;class d extends i{constructor(e){super(),this.types=e,this.types=e}valid(e){return this.types.some(n=>n.valid(e))}}d.__name__=\"Or\",e.Or=d;class o extends i{constructor(e){super(),this.types=e,this.types=e}valid(e){if(!s.isArray(e))return!1;for(let n=0;nthis.item_type.valid(e))}}c.__name__=\"Array\",e.Array=c;class m extends i{valid(e){return null===e}}m.__name__=\"Null\",e.Null=m;class p extends i{constructor(e){super(),this.base_type=e}valid(e){return null===e||this.base_type.valid(e)}}p.__name__=\"Nullable\",e.Nullable=p;class y extends i{valid(e){return s.isString(e)}}y.__name__=\"String\",e.String=y;class v extends i{constructor(e){super(),this.values=new Set(e)}valid(e){return this.values.has(e)}*[Symbol.iterator](){yield*this.values}}v.__name__=\"Enum\",e.Enum=v;class h extends i{constructor(e){super(),this.item_type=e}valid(e){if(!s.isPlainObject(e))return!1;for(const n in e)if(e.hasOwnProperty(n)){const t=e[n];if(!this.item_type.valid(t))return!1}return!0}}h.__name__=\"Struct\",e.Struct=h;class w extends i{constructor(e,n){super(),this.key_type=e,this.item_type=n}valid(e){if(!(e instanceof Map))return!1;for(const[n,t]of e.entries())if(!this.key_type.valid(n)||!this.item_type.valid(t))return!1;return!0}}w.__name__=\"Dict\",e.Dict=w;class K extends i{valid(e){return s.isString(e)&&r.is_color(e)}}K.__name__=\"Color\",e.Color=K;class f extends _{valid(e){return super.valid(e)&&0<=e&&e<=1}}f.__name__=\"Percent\",e.Percent=f}(t.Kinds||(t.Kinds={})),t.Any=new t.Kinds.Any,t.Unknown=new t.Kinds.Unknown,t.Boolean=new t.Kinds.Boolean,t.Number=new t.Kinds.Number,t.Int=new t.Kinds.Int,t.String=new t.Kinds.String,t.Null=new t.Kinds.Null,t.Nullable=e=>new t.Kinds.Nullable(e),t.Or=(...e)=>new t.Kinds.Or(e),t.Tuple=(...e)=>new t.Kinds.Tuple(e),t.Array=e=>new t.Kinds.Array(e),t.Struct=e=>new t.Kinds.Struct(e),t.Dict=(e,n)=>new t.Kinds.Dict(e,n),t.Enum=(...e)=>new t.Kinds.Enum(e),t.Ref=e=>new t.Kinds.Ref(e),t.Percent=new t.Kinds.Percent,t.Color=new t.Kinds.Color,t.Auto=t.Enum(\"auto\"),t.FontSize=t.String,t.Font=t.String,t.Angle=t.Number},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(23),l=e(9);function a(e){const r=Number(e).toString(16);return 1==r.length?\"0\"+r:r}function o(e){if(0==(e+=\"\").indexOf(\"#\"))return e;if(n.is_svg_color(e))return n.svg_colors[e];if(0==e.indexOf(\"rgb\")){const r=e.replace(/^rgba?\\(|\\s+|\\)$/g,\"\").split(\",\");let t=r.slice(0,3).map(a).join(\"\");return 4==r.length&&(t+=a(Math.floor(255*parseFloat(r[3])))),\"#\"+t.slice(0,8)}return e}function s(e){let r;switch(e.substring(0,4)){case\"rgba\":r={start:\"rgba(\",len:4,alpha:!0};break;case\"rgb(\":r={start:\"rgb(\",len:3,alpha:!1};break;default:return!1}if(new RegExp(\".*?(\\\\.).*(,)\").test(e))return!1;const t=e.replace(r.start,\"\").replace(\")\",\"\").split(\",\").map(parseFloat);return t.length==r.len&&((!r.alpha||0<=t[3]&&t[3]<=1)&&!l.includes(t.slice(0,3).map(e=>0<=e&&e<=255),!1))}t.is_color=function(e){return n.is_svg_color(e.toLowerCase())||\"#\"==e.substring(0,1)||s(e)},t.rgb2hex=function(e,r,t){return`#${a(255&e)}${a(255&r)}${a(255&t)}`},t.color2hex=o,t.encode_rgba=function([e,r,t,n]){return(255*e|0)<<24|(255*r|0)<<16|(255*t|0)<<8|255*n|0},t.decode_rgba=function(e){return[(e>>24&255)/255,(e>>16&255)/255,(e>>8&255)/255,(e>>0&255)/255]},t.color2rgba=function(e,r=1){if(!e)return[0,0,0,0];let t=o(e);t=t.replace(/ |#/g,\"\"),t.length<=4&&(t=t.replace(/(.)/g,\"$1$1\"));const n=t.match(/../g).map(e=>parseInt(e,16)/255);for(;n.length<3;)n.push(0);return n.length<4&&n.push(r),n.slice(0,4)},t.valid_rgb=s},\n", + " function _(e,F,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.svg_colors={indianred:\"#CD5C5C\",lightcoral:\"#F08080\",salmon:\"#FA8072\",darksalmon:\"#E9967A\",lightsalmon:\"#FFA07A\",crimson:\"#DC143C\",red:\"#FF0000\",firebrick:\"#B22222\",darkred:\"#8B0000\",pink:\"#FFC0CB\",lightpink:\"#FFB6C1\",hotpink:\"#FF69B4\",deeppink:\"#FF1493\",mediumvioletred:\"#C71585\",palevioletred:\"#DB7093\",coral:\"#FF7F50\",tomato:\"#FF6347\",orangered:\"#FF4500\",darkorange:\"#FF8C00\",orange:\"#FFA500\",gold:\"#FFD700\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",lemonchiffon:\"#FFFACD\",lightgoldenrodyellow:\"#FAFAD2\",papayawhip:\"#FFEFD5\",moccasin:\"#FFE4B5\",peachpuff:\"#FFDAB9\",palegoldenrod:\"#EEE8AA\",khaki:\"#F0E68C\",darkkhaki:\"#BDB76B\",lavender:\"#E6E6FA\",thistle:\"#D8BFD8\",plum:\"#DDA0DD\",violet:\"#EE82EE\",orchid:\"#DA70D6\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",blueviolet:\"#8A2BE2\",darkviolet:\"#9400D3\",darkorchid:\"#9932CC\",darkmagenta:\"#8B008B\",purple:\"#800080\",indigo:\"#4B0082\",slateblue:\"#6A5ACD\",darkslateblue:\"#483D8B\",mediumslateblue:\"#7B68EE\",greenyellow:\"#ADFF2F\",chartreuse:\"#7FFF00\",lawngreen:\"#7CFC00\",lime:\"#00FF00\",limegreen:\"#32CD32\",palegreen:\"#98FB98\",lightgreen:\"#90EE90\",mediumspringgreen:\"#00FA9A\",springgreen:\"#00FF7F\",mediumseagreen:\"#3CB371\",seagreen:\"#2E8B57\",forestgreen:\"#228B22\",green:\"#008000\",darkgreen:\"#006400\",yellowgreen:\"#9ACD32\",olivedrab:\"#6B8E23\",olive:\"#808000\",darkolivegreen:\"#556B2F\",mediumaquamarine:\"#66CDAA\",darkseagreen:\"#8FBC8F\",lightseagreen:\"#20B2AA\",darkcyan:\"#008B8B\",teal:\"#008080\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",lightcyan:\"#E0FFFF\",paleturquoise:\"#AFEEEE\",aquamarine:\"#7FFFD4\",turquoise:\"#40E0D0\",mediumturquoise:\"#48D1CC\",darkturquoise:\"#00CED1\",cadetblue:\"#5F9EA0\",steelblue:\"#4682B4\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",lightblue:\"#ADD8E6\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",deepskyblue:\"#00BFFF\",dodgerblue:\"#1E90FF\",cornflowerblue:\"#6495ED\",royalblue:\"#4169E1\",blue:\"#0000FF\",mediumblue:\"#0000CD\",darkblue:\"#00008B\",navy:\"#000080\",midnightblue:\"#191970\",cornsilk:\"#FFF8DC\",blanchedalmond:\"#FFEBCD\",bisque:\"#FFE4C4\",navajowhite:\"#FFDEAD\",wheat:\"#F5DEB3\",burlywood:\"#DEB887\",tan:\"#D2B48C\",rosybrown:\"#BC8F8F\",sandybrown:\"#F4A460\",goldenrod:\"#DAA520\",darkgoldenrod:\"#B8860B\",peru:\"#CD853F\",chocolate:\"#D2691E\",saddlebrown:\"#8B4513\",sienna:\"#A0522D\",brown:\"#A52A2A\",maroon:\"#800000\",white:\"#FFFFFF\",snow:\"#FFFAFA\",honeydew:\"#F0FFF0\",mintcream:\"#F5FFFA\",azure:\"#F0FFFF\",aliceblue:\"#F0F8FF\",ghostwhite:\"#F8F8FF\",whitesmoke:\"#F5F5F5\",seashell:\"#FFF5EE\",beige:\"#F5F5DC\",oldlace:\"#FDF5E6\",floralwhite:\"#FFFAF0\",ivory:\"#FFFFF0\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lavenderblush:\"#FFF0F5\",mistyrose:\"#FFE4E1\",gainsboro:\"#DCDCDC\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",silver:\"#C0C0C0\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",gray:\"#808080\",grey:\"#808080\",dimgray:\"#696969\",dimgrey:\"#696969\",lightslategray:\"#778899\",lightslategrey:\"#778899\",slategray:\"#708090\",slategrey:\"#708090\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",black:\"#000000\"},r.is_svg_color=function(e){return e in r.svg_colors}},\n", + " function _(r,t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.NumberArray=Float32Array,e.ColorArray=Uint32Array;const s=r(25);class a{constructor(r,t){this.offsets=r,this.array=t}[s.equals](r,t){return t.arrays(this.offsets,r.offsets)&&t.arrays(this.array,r.array)}get length(){return this.offsets.length}clone(){return new a(new Uint32Array(this.offsets),new e.NumberArray(this.array))}static from(r){const t=r.length,s=new Uint32Array(t);let n=0;for(let e=0;e{if(null!=t[r.equals]&&null!=e[r.equals])return t[r.equals](e,this);switch(s){case\"[object Array]\":case\"[object Uint8Array]\":case\"[object Int8Array]\":case\"[object Uint16Array]\":case\"[object Int16Array]\":case\"[object Uint32Array]\":case\"[object Int32Array]\":case\"[object Float32Array]\":case\"[object Float64Array]\":return this.arrays(t,e);case\"[object Map]\":return this.maps(t,e);case\"[object Set]\":return this.sets(t,e);case\"[object Object]\":if(t.constructor==e.constructor&&(null==t.constructor||t.constructor===Object))return this.objects(t,e);case\"[object Function]\":if(t.constructor==e.constructor&&t.constructor===Function)return this.eq(\"\"+t,\"\"+e)}if(t instanceof Node)return this.nodes(t,e);throw Error(\"can't compare objects of type \"+s)})();return o.pop(),c.pop(),i}numbers(t,e){return Object.is(t,e)}arrays(t,e){const{length:r}=t;if(r!=e.length)return!1;for(let n=0;n>>5,r=31&t;return!!(this._array[s]>>r&1)}set(t,s=!0){this._check_bounds(t),this._count=null;const r=t>>>5,e=31&t;s?this._array[r]|=1<>>t&1&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1&&(yield e);else e+=32}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1||(yield e);else e+=32}}_check_size(t){e.assert(this.size==t.size,\"Size mismatch\")}add(t){this._check_size(t);for(let s=0;st(this.at(s,r),s,r))}apply(t){const s=a.from(t),{nrows:r,ncols:e}=this;if(r==s.nrows&&e==s.ncols)return new a(r,e,(t,r)=>s.at(t,r)(this.at(t,r),t,r));throw new Error(\"dimensions don't match\")}to_sparse(){return[...this]}static from(t,s){if(t instanceof a)return t;if(null!=s){const r=t,e=Math.floor(r.length/s);return new a(e,s,(t,e)=>r[t*s+e])}{const s=t,r=t.length,e=i.min(s.map(t=>t.length));return new a(r,e,(t,r)=>s[t][r])}}}r.Matrix=a,a.__name__=\"Matrix\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});class n{constructor(){this._dev=!1}set dev(e){this._dev=e}get dev(){return this._dev}}s.Settings=n,n.__name__=\"Settings\",s.settings=new n},\n", + " function _(e,l,t){Object.defineProperty(t,\"__esModule\",{value:!0});const a=e(1).__importStar(e(18));t.Line={line_color:[a.Color,\"black\"],line_alpha:[a.Number,1],line_width:[a.Number,1],line_join:[a.LineJoin,\"bevel\"],line_cap:[a.LineCap,\"butt\"],line_dash:[a.Array,[]],line_dash_offset:[a.Number,0]},t.Fill={fill_color:[a.Color,\"gray\"],fill_alpha:[a.Number,1]},t.Hatch={hatch_color:[a.Color,\"black\"],hatch_alpha:[a.Number,1],hatch_scale:[a.Number,12],hatch_pattern:[a.NullString,null],hatch_weight:[a.Number,1],hatch_extra:[a.Any,{}]},t.Text={text_color:[a.Color,\"#444444\"],text_alpha:[a.Number,1],text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSize,\"16px\"],text_font_style:[a.FontStyle,\"normal\"],text_align:[a.TextAlign,\"left\"],text_baseline:[a.TextBaseline,\"bottom\"],text_line_height:[a.Number,1.2]},t.LineScalar={line_color:[a.ColorScalar,\"black\"],line_alpha:[a.NumberScalar,1],line_width:[a.NumberScalar,1],line_join:[a.LineJoinScalar,\"bevel\"],line_cap:[a.LineCapScalar,\"butt\"],line_dash:[a.ArrayScalar,[]],line_dash_offset:[a.NumberScalar,0]},t.FillScalar={fill_color:[a.ColorScalar,\"gray\"],fill_alpha:[a.NumberScalar,1]},t.HatchScalar={hatch_color:[a.ColorScalar,\"black\"],hatch_alpha:[a.NumberScalar,1],hatch_scale:[a.NumberScalar,12],hatch_pattern:[a.NullStringScalar,null],hatch_weight:[a.NumberScalar,1],hatch_extra:[a.AnyScalar,{}]},t.TextScalar={text_color:[a.ColorScalar,\"#444444\"],text_alpha:[a.NumberScalar,1],text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSizeScalar,\"16px\"],text_font_style:[a.FontStyleScalar,\"normal\"],text_align:[a.TextAlignScalar,\"left\"],text_baseline:[a.TextBaselineScalar,\"bottom\"],text_line_height:[a.NumberScalar,1.2]},t.LineVector={line_color:[a.ColorSpec,\"black\"],line_alpha:[a.NumberSpec,1],line_width:[a.NumberSpec,1],line_join:[a.LineJoin,\"bevel\"],line_cap:[a.LineCap,\"butt\"],line_dash:[a.Array,[]],line_dash_offset:[a.Number,0]},t.FillVector={fill_color:[a.ColorSpec,\"gray\"],fill_alpha:[a.NumberSpec,1]},t.HatchVector={hatch_color:[a.ColorSpec,\"black\"],hatch_alpha:[a.NumberSpec,1],hatch_scale:[a.NumberSpec,12],hatch_pattern:[a.NullStringSpec,null],hatch_weight:[a.NumberSpec,1],hatch_extra:[a.Any,{}]},t.TextVector={text_color:[a.ColorSpec,\"#444444\"],text_alpha:[a.NumberSpec,1],text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSizeSpec,\"16px\"],text_font_style:[a.FontStyle,\"normal\"],text_align:[a.TextAlign,\"left\"],text_baseline:[a.TextBaseline,\"bottom\"],text_line_height:[a.Number,1.2]}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const n=t(27);function u(){const t=new Array(32);for(let e=0;e<32;e++)t[e]=\"0123456789ABCDEF\".substr(Math.floor(16*Math.random()),1);return t[12]=\"4\",t[16]=\"0123456789ABCDEF\".substr(3&t[16].charCodeAt(0)|8,1),t.join(\"\")}r.startsWith=function(t,e,r=0){return t.substr(r,e.length)==e},r.uuid4=u;let s=1e3;r.uniqueId=function(t){const e=n.settings.dev?\"j\"+s++:u();return null!=t?`${t}-${e}`:e},r.escape=function(t){return t.replace(/(?:[&<>\"'`])/g,t=>{switch(t){case\"&\":return\"&\";case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"`\":return\"`\";default:return t}})},r.unescape=function(t){return t.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,(t,e)=>{switch(e){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return e}})},r.use_strict=function(t){return\"'use strict';\\n\"+t}},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=t(8),a=t(11),n=t(25),i=Symbol(\"__ndarray__\");class h extends Uint8Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"uint8\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Uint8NDArray=h,h.__name__=\"Uint8NDArray\";class _ extends Int8Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"int8\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Int8NDArray=_,_.__name__=\"Int8NDArray\";class u extends Uint16Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"uint16\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Uint16NDArray=u,u.__name__=\"Uint16NDArray\";class l extends Int16Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"int16\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Int16NDArray=l,l.__name__=\"Int16NDArray\";class y extends Uint32Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"uint32\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Uint32NDArray=y,y.__name__=\"Uint32NDArray\";class c extends Int32Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"int32\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Int32NDArray=c,c.__name__=\"Int32NDArray\";class p extends Float32Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"float32\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}e.Float32NDArray=p,p.__name__=\"Float32NDArray\";class o extends Float64Array{constructor(t,s){super(t),this.__ndarray__=i,this.dtype=\"float64\",this.shape=null!=s?s:d(t)?t.shape:[this.length],this.dimension=this.shape.length}[n.equals](t,s){return s.eq(this.shape,t.shape)&&s.arrays(this,t)}}function d(t){return r.isObject(t)&&t.__ndarray__==i}e.Float64NDArray=o,o.__name__=\"Float64NDArray\",e.is_NDArray=d,e.ndarray=function(t,s={}){let{dtype:e}=s;null==e&&(e=t instanceof ArrayBuffer||r.isArray(t)?\"float32\":(()=>{switch(!0){case t instanceof Uint8Array:return\"uint8\";case t instanceof Int8Array:return\"int8\";case t instanceof Uint16Array:return\"uint16\";case t instanceof Int16Array:return\"int16\";case t instanceof Uint32Array:return\"uint32\";case t instanceof Int32Array:return\"int32\";case t instanceof Float32Array:return\"float32\";case t instanceof Float64Array:return\"float64\";default:a.unreachable()}})());const{shape:n}=s;switch(e){case\"uint8\":return new h(t,n);case\"int8\":return new _(t,n);case\"uint16\":return new u(t,n);case\"int16\":return new l(t,n);case\"uint32\":return new y(t,n);case\"int32\":return new c(t,n);case\"float32\":return new p(t,n);case\"float64\":return new o(t,n)}}},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),a=e(8),f=e(32),_=n.__importStar(e(30));function o(e){const r=new Uint8Array(e),t=Array.from(r).map(e=>String.fromCharCode(e));return btoa(t.join(\"\"))}function s(e){const r=atob(e),t=r.length,n=new Uint8Array(t);for(let e=0,a=t;e{switch(a){case\"uint8\":return new _.Uint8NDArray(o,n);case\"int8\":return new _.Int8NDArray(o,n);case\"uint16\":return new _.Uint16NDArray(o,n);case\"int16\":return new _.Int16NDArray(o,n);case\"uint32\":return new _.Uint32NDArray(o,n);case\"int32\":return new _.Int32NDArray(o,n);case\"float32\":return new _.Float32NDArray(o,n);case\"float64\":return new _.Float64NDArray(o,n)}})();if(f!==t.BYTE_ORDER)switch(l.BYTES_PER_ELEMENT){case 2:i(l);break;case 4:u(l);break;case 8:c(l)}return l},t.encode_NDArray=function(e,r){const n={order:t.BYTE_ORDER,dtype:e.dtype,shape:e.shape};if(null!=r){const t=\"\"+r.size;return r.set(t,e.buffer),Object.assign({__buffer__:t},n)}{const r=o(e.buffer);return Object.assign({__ndarray__:r},n)}}},\n", + " function _(e,n,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.is_ie=(()=>{const e=\"undefined\"!=typeof navigator?navigator.userAgent:\"\";return e.indexOf(\"MSIE\")>=0||e.indexOf(\"Trident\")>0||e.indexOf(\"Edge\")>0})(),i.is_mobile=\"undefined\"!=typeof window&&(\"ontouchstart\"in window||navigator.maxTouchPoints>0),i.is_little_endian=(()=>{const e=new ArrayBuffer(4),n=new Uint8Array(e);new Uint32Array(e)[1]=168496141;let i=!0;return 10==n[4]&&11==n[5]&&12==n[6]&&13==n[7]&&(i=!1),i})()},\n", + " function _(t,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=t(8),i=t(13);n.pretty=Symbol(\"pretty\");class o{constructor(t){this.precision=null==t?void 0:t.precision}to_string(t){return function(t){return n.pretty in Object(t)}(t)?t[n.pretty](this):e.isBoolean(t)?this.boolean(t):e.isNumber(t)?this.number(t):e.isString(t)?this.string(t):e.isArray(t)?this.array(t):e.isIterable(t)?this.iterable(t):e.isPlainObject(t)?this.object(t):\"\"+t}token(t){return t}boolean(t){return\"\"+t}number(t){return null!=this.precision?t.toFixed(this.precision):\"\"+t}string(t){return`\"${t.replace(/'/g,\"\\\\'\")}\"`}array(t){const r=this.token,n=[];for(const r of t)n.push(this.to_string(r));return`${r(\"[\")}${n.join(r(\",\")+\" \")}${r(\"]\")}`}iterable(t){var r;const n=this.token,e=null!==(r=Object(t)[Symbol.toStringTag])&&void 0!==r?r:\"Object\",i=this.array(t);return`${e}${n(\"(\")}${i}${n(\")\")}`}object(t){const r=this.token,n=[];for(const[e,o]of i.entries(t))n.push(`${e}${r(\":\")} ${this.to_string(o)}`);return`${r(\"{\")}${n.join(r(\",\")+\" \")}${r(\"}\")}`}}n.Printer=o,o.__name__=\"Printer\",n.to_string=function(t,r){return new o(r).to_string(t)}},\n", + " function _(t,_,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=t(1);e.__exportStar(t(35),r),e.__exportStar(t(176),r),e.__exportStar(t(203),r),e.__exportStar(t(207),r),e.__exportStar(t(218),r),e.__exportStar(t(222),r),e.__exportStar(t(228),r),e.__exportStar(t(232),r),e.__exportStar(t(265),r),e.__exportStar(t(268),r),e.__exportStar(t(270),r),e.__exportStar(t(132),r),e.__exportStar(t(148),r),e.__exportStar(t(287),r),e.__exportStar(t(291),r),e.__exportStar(t(320),r),e.__exportStar(t(321),r),e.__exportStar(t(322),r),e.__exportStar(t(323),r),e.__exportStar(t(324),r),e.__exportStar(t(329),r),e.__exportStar(t(331),r),e.__exportStar(t(342),r),e.__exportStar(t(346),r)},\n", + " function _(a,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});var r=a(36);o.Annotation=r.Annotation;var n=a(83);o.Arrow=n.Arrow;var t=a(84);o.ArrowHead=t.ArrowHead;var v=a(84);o.OpenHead=v.OpenHead;var l=a(84);o.NormalHead=l.NormalHead;var d=a(84);o.TeeHead=d.TeeHead;var i=a(84);o.VeeHead=i.VeeHead;var A=a(122);o.Band=A.Band;var H=a(124);o.BoxAnnotation=H.BoxAnnotation;var T=a(125);o.ColorBar=T.ColorBar;var p=a(160);o.Label=p.Label;var L=a(162);o.LabelSet=L.LabelSet;var b=a(163);o.Legend=b.Legend;var B=a(164);o.LegendItem=B.LegendItem;var S=a(166);o.PolyAnnotation=S.PolyAnnotation;var P=a(167);o.Slope=P.Slope;var g=a(168);o.Span=g.Span;var m=a(161);o.TextAnnotation=m.TextAnnotation;var w=a(169);o.Title=w.Title;var x=a(170);o.ToolbarPanel=x.ToolbarPanel;var s=a(171);o.Tooltip=s.Tooltip;var u=a(175);o.Whisker=u.Whisker},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=t(1).__importStar(t(37)),i=t(13),o=t(70);class _ extends o.RendererView{get panel(){return this.layout}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.visible,()=>this.plot_view.request_layout())}get_size(){if(this.model.visible){const{width:t,height:e}=this._get_size();return{width:Math.round(t),height:Math.round(e)}}return{width:0,height:0}}_get_size(){throw new Error(\"not implemented\")}set_data(t){const e=this.model.materialize_dataspecs(t);if(i.extend(this,e),this.plot_model.use_map){const t=this;null!=t._x&&([t._x,t._y]=s.project_xy(t._x,t._y)),null!=t._xs&&([t._xs,t._ys]=s.project_xsys(t._xs,t._ys))}}get needs_clip(){return null==this.layout}serializable_state(){const t=super.serializable_state();return null==this.layout?t:Object.assign(Object.assign({},t),{bbox:this.layout.bbox.box})}}n.AnnotationView=_,_.__name__=\"AnnotationView\";class a extends o.Renderer{constructor(t){super(t)}static init_Annotation(){this.override({level:\"annotation\"})}}n.Annotation=a,a.__name__=\"Annotation\",a.init_Annotation()},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=n(1),o=r.__importDefault(n(38)),l=r.__importDefault(n(39)),c=n(24),i=new l.default(\"GOOGLE\"),u=new l.default(\"WGS84\"),a=o.default(u,i);e.wgs84_mercator={compute:(n,t)=>isFinite(n)&&isFinite(t)?a.forward([n,t]):[NaN,NaN],invert:(n,t)=>isFinite(n)&&isFinite(t)?a.inverse([n,t]):[NaN,NaN]};const s={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},f={lon:[-180,180],lat:[-85.06,85.06]},{min:_,max:p}=Math;function m(n,t){const r=_(n.length,t.length),o=new c.NumberArray(r),l=new c.NumberArray(r);return e.inplace.project_xy(n,t,o,l),[o,l]}e.clip_mercator=function(n,t,e){const[r,o]=s[e];return[p(n,r),_(t,o)]},e.in_bounds=function(n,t){const[e,r]=f[t];return e2?void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name?\"number\"==typeof r.z?[r.x,r.y,r.z].concat(t.splice(3)):[r.x,r.y,t[2]].concat(t.splice(3)):[r.x,r.y].concat(t.splice(2)):[r.x,r.y]):(o=a.default(e,n,t),2===(i=Object.keys(t)).length||i.forEach((function(r){if(void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name){if(\"x\"===r||\"y\"===r||\"z\"===r)return}else if(\"x\"===r||\"y\"===r)return;o[r]=t[r]})),o)}function u(e){return e instanceof o.default?e:e.oProj?e.oProj:o.default(e)}t.default=function(e,n,t){e=u(e);var r,o=!1;return void 0===n?(n=e,e=i,o=!0):(void 0!==n.x||Array.isArray(n))&&(t=n,n=e,e=i,o=!0),n=u(n),t?c(e,n,t):(r={forward:function(t){return c(e,n,t)},inverse:function(t){return c(n,e,t)}},o&&(r.oProj=n),r)}},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const s=e(1),i=s.__importDefault(e(40)),u=s.__importDefault(e(51)),l=s.__importDefault(e(52)),o=e(60),r=s.__importDefault(e(62)),f=s.__importDefault(e(63)),d=s.__importDefault(e(47));function p(e,t){if(!(this instanceof p))return new p(e);t=t||function(e){if(e)throw e};var a=i.default(e);if(\"object\"==typeof a){var s=p.projections.get(a.projName);if(s){if(a.datumCode&&\"none\"!==a.datumCode){var l=d.default(r.default,a.datumCode);l&&(a.datum_params=l.towgs84?l.towgs84.split(\",\"):null,a.ellps=l.ellipse,a.datumName=l.datumName?l.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||\"enu\",a.ellps=a.ellps||\"wgs84\";var m=o.sphere(a.a,a.b,a.rf,a.ellps,a.sphere),n=o.eccentricity(m.a,m.b,m.rf,a.R_A),h=a.datum||f.default(a.datumCode,a.datum_params,m.a,m.b,n.es,n.ep2);u.default(this,a),u.default(this,s),this.a=m.a,this.b=m.b,this.rf=m.rf,this.sphere=m.sphere,this.es=n.es,this.e=n.e,this.ep2=n.ep2,this.datum=h,this.init(),t(null,this)}else t(e)}else t(e)}p.projections=l.default,p.projections.start(),a.default=p},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const u=t(1),n=u.__importDefault(t(41)),f=u.__importDefault(t(48)),i=u.__importDefault(t(43)),a=u.__importDefault(t(47));var o=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];var l=[\"3857\",\"900913\",\"3785\",\"102113\"];r.default=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in n.default}(t))return n.default[t];if(function(t){return o.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=f.default(t);if(function(t){var e=a.default(t,\"authority\");if(e){var r=a.default(e,\"epsg\");return r&&l.indexOf(r)>-1}}(e))return n.default[\"EPSG:3857\"];var r=function(t){var e=a.default(t,\"extension\");if(e)return a.default(e,\"proj4\")}(e);return r?i.default(r):e}return function(t){return\"+\"===t[0]}(t)?i.default(t):void 0}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=t(1),n=i.__importDefault(t(42)),f=i.__importDefault(t(43)),a=i.__importDefault(t(48));function l(t){var e=this;if(2===arguments.length){var r=arguments[1];\"string\"==typeof r?\"+\"===r.charAt(0)?l[t]=f.default(arguments[1]):l[t]=a.default(arguments[1]):l[t]=r}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?l.apply(e,t):l(t)}));if(\"string\"==typeof t){if(t in l)return l[t]}else\"EPSG\"in t?l[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?l[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?l[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}n.default(l),r.default=l},\n", + " function _(e,t,l){Object.defineProperty(l,\"__esModule\",{value:!0}),l.default=function(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}},\n", + " function _(t,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});const e=t(1),a=t(44),u=e.__importDefault(t(45)),r=e.__importDefault(t(46)),i=e.__importDefault(t(47));o.default=function(t){var n,o,e,f={},l=t.split(\"+\").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,n){var o=n.split(\"=\");return o.push(!0),t[o[0].toLowerCase()]=o[1],t}),{}),c={proj:\"projName\",datum:\"datumCode\",rf:function(t){f.rf=parseFloat(t)},lat_0:function(t){f.lat0=t*a.D2R},lat_1:function(t){f.lat1=t*a.D2R},lat_2:function(t){f.lat2=t*a.D2R},lat_ts:function(t){f.lat_ts=t*a.D2R},lon_0:function(t){f.long0=t*a.D2R},lon_1:function(t){f.long1=t*a.D2R},lon_2:function(t){f.long2=t*a.D2R},alpha:function(t){f.alpha=parseFloat(t)*a.D2R},lonc:function(t){f.longc=t*a.D2R},x_0:function(t){f.x0=parseFloat(t)},y_0:function(t){f.y0=parseFloat(t)},k_0:function(t){f.k0=parseFloat(t)},k:function(t){f.k0=parseFloat(t)},a:function(t){f.a=parseFloat(t)},b:function(t){f.b=parseFloat(t)},r_a:function(){f.R_A=!0},zone:function(t){f.zone=parseInt(t,10)},south:function(){f.utmSouth=!0},towgs84:function(t){f.datum_params=t.split(\",\").map((function(t){return parseFloat(t)}))},to_meter:function(t){f.to_meter=parseFloat(t)},units:function(t){f.units=t;var n=i.default(r.default,t);n&&(f.to_meter=n.to_meter)},from_greenwich:function(t){f.from_greenwich=t*a.D2R},pm:function(t){var n=i.default(u.default,t);f.from_greenwich=(n||parseFloat(t))*a.D2R},nadgrids:function(t){\"@null\"===t?f.datumCode=\"none\":f.nadgrids=t},axis:function(t){3===t.length&&-1!==\"ewnsud\".indexOf(t.substr(0,1))&&-1!==\"ewnsud\".indexOf(t.substr(1,1))&&-1!==\"ewnsud\".indexOf(t.substr(2,1))&&(f.axis=t)}};for(n in l)o=l[n],n in c?\"function\"==typeof(e=c[n])?e(o):f[e]=o:f[n]=o;return\"string\"==typeof f.datumCode&&\"WGS84\"!==f.datumCode&&(f.datumCode=f.datumCode.toLowerCase()),f}},\n", + " function _(P,_,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.PJD_3PARAM=1,e.PJD_7PARAM=2,e.PJD_WGS84=4,e.PJD_NODATUM=5,e.SEC_TO_RAD=484813681109536e-20,e.HALF_PI=Math.PI/2,e.SIXTH=.16666666666666666,e.RA4=.04722222222222222,e.RA6=.022156084656084655,e.EPSLN=1e-10,e.D2R=.017453292519943295,e.R2D=57.29577951308232,e.FORTPI=Math.PI/4,e.TWO_PI=2*Math.PI,e.SPI=3.14159265359},\n", + " function _(e,o,r){Object.defineProperty(r,\"__esModule\",{value:!0});var a={};r.default=a,a.greenwich=0,a.lisbon=-9.131906111111,a.paris=2.337229166667,a.bogota=-74.080916666667,a.madrid=-3.687938888889,a.rome=12.452333333333,a.bern=7.439583333333,a.jakarta=106.807719444444,a.ferro=-17.666666666667,a.brussels=4.367975,a.stockholm=18.058277777778,a.athens=23.7163375,a.oslo=10.722916666667},\n", + " function _(e,t,f){Object.defineProperty(f,\"__esModule\",{value:!0}),f.default={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}}},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});var o=/[\\s_\\-\\/\\(\\)]/g;t.default=function(e,r){if(e[r])return e[r];for(var t,a=Object.keys(e),n=r.toLowerCase().replace(o,\"\"),f=-1;++f0?90:-90),e.lat_ts=e.lat1)}(l),l}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=function(t){return new a(t).output()};var i=/\\s/,s=/[A-Za-z]/,h=/[A-Za-z84]/,o=/[,\\]]/,n=/[\\d\\.E\\-\\+]/;function a(t){if(\"string\"!=typeof t)throw new Error(\"not a string\");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=1}a.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;i.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case 1:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},a.prototype.afterquote=function(t){if('\"'===t)return this.word+='\"',void(this.state=4);if(o.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in afterquote yet, index '+this.place)},a.prototype.afterItem=function(t){return\",\"===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=1)):\"]\"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=1,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},a.prototype.number=function(t){if(!n.test(t)){if(o.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in number yet, index '+this.place)}this.word+=t},a.prototype.quoted=function(t){'\"'!==t?this.word+=t:this.state=5},a.prototype.keyword=function(t){if(h.test(t))this.word+=t;else{if(\"[\"===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=1)}if(!o.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in keyword yet, index '+this.place);this.afterItem(t)}},a.prototype.neutral=function(t){if(s.test(t))return this.word=t,void(this.state=2);if('\"'===t)return this.word=\"\",void(this.state=4);if(n.test(t))return this.word=t,void(this.state=3);if(!o.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in neutral yet, index '+this.place);this.afterItem(t)},a.prototype.output=function(){for(;this.place90&&a*l.R2D<-90&&h*l.R2D>180&&h*l.R2D<-180)return null;if(Math.abs(Math.abs(a)-l.HALF_PI)<=l.EPSLN)return null;if(this.sphere)i=this.x0+this.a*this.k0*e.default(h-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(l.FORTPI+.5*a));else{var n=Math.sin(a),u=r.default(this.e,a,n);i=this.x0+this.a*this.k0*e.default(h-this.long0),s=this.y0-this.a*this.k0*Math.log(u)}return t.x=i,t.y=s,t}function f(t){var i,s,h=t.x-this.x0,a=t.y-this.y0;if(this.sphere)s=l.HALF_PI-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var r=Math.exp(-a/(this.a*this.k0));if(-9999===(s=n.default(this.e,r)))return null}return i=e.default(this.long0+h/(this.a*this.k0)),t.x=i,t.y=s,t}s.init=u,s.forward=o,s.inverse=f,s.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],s.default={init:u,forward:o,inverse:f,names:s.names}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e,t,n){var r=e*t;return n/Math.sqrt(1-r*r)}},\n", + " function _(e,t,u){Object.defineProperty(u,\"__esModule\",{value:!0});const n=e(1),a=e(44),f=n.__importDefault(e(56));u.default=function(e){return Math.abs(e)<=a.SPI?e:e-f.default(e)*a.TWO_PI}},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return e<0?-1:1}},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const a=t(44);n.default=function(t,e,n){var o=t*n,u=.5*t;return o=Math.pow((1-o)/(1+o),u),Math.tan(.5*(a.HALF_PI-e))/o}},\n", + " function _(t,a,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(44);e.default=function(t,a){for(var e,r,o=.5*t,u=n.HALF_PI-2*Math.atan(a),f=0;f<=15;f++)if(e=t*Math.sin(u),u+=r=n.HALF_PI-2*Math.atan(a*Math.pow((1-e)/(1+e),o))-u,Math.abs(r)<=1e-10)return u;return-9999}},\n", + " function _(e,n,i){function t(){}function r(e){return e}Object.defineProperty(i,\"__esModule\",{value:!0}),i.init=t,i.forward=r,i.inverse=r,i.names=[\"longlat\",\"identity\"],i.default={init:t,forward:r,inverse:r,names:i.names}},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const a=e(1),n=e(44),f=a.__importStar(e(61)),u=a.__importDefault(e(47));r.eccentricity=function(e,t,r,a){var f=e*e,u=t*t,i=(f-u)/f,c=0;return a?(f=(e*=1-i*(n.SIXTH+i*(n.RA4+i*n.RA6)))*e,i=0):c=Math.sqrt(i),{es:i,e:c,ep2:(f-u)/u}},r.sphere=function(e,t,r,a,i){if(!e){var c=u.default(f.default,a);c||(c=f.WGS84),e=c.a,t=c.b,r=c.rf}return r&&!t&&(t=(1-1/r)*e),(0===r||Math.abs(e-t)3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=t.PJD_7PARAM,r.datum_params[3]*=t.SEC_TO_RAD,r.datum_params[4]*=t.SEC_TO_RAD,r.datum_params[5]*=t.SEC_TO_RAD,r.datum_params[6]=r.datum_params[6]/1e6+1))),r.a=_,r.b=u,r.es=d,r.ep2=p,r}},\n", + " function _(t,e,a){Object.defineProperty(a,\"__esModule\",{value:!0});const r=t(1),u=t(44),m=r.__importDefault(t(65)),_=r.__importDefault(t(67)),o=r.__importDefault(t(39)),d=r.__importDefault(t(68)),f=r.__importDefault(t(69));a.default=function t(e,a,r){var n;if(Array.isArray(r)&&(r=d.default(r)),f.default(r),e.datum&&a.datum&&function(t,e){return(t.datum.datum_type===u.PJD_3PARAM||t.datum.datum_type===u.PJD_7PARAM)&&\"WGS84\"!==e.datumCode||(e.datum.datum_type===u.PJD_3PARAM||e.datum.datum_type===u.PJD_7PARAM)&&\"WGS84\"!==t.datumCode}(e,a)&&(r=t(e,n=new o.default(\"WGS84\"),r),e=n),\"enu\"!==e.axis&&(r=_.default(e,!1,r)),\"longlat\"===e.projName)r={x:r.x*u.D2R,y:r.y*u.D2R,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),!(r=e.inverse(r)))return;return e.from_greenwich&&(r.x+=e.from_greenwich),r=m.default(e.datum,a.datum,r),a.from_greenwich&&(r={x:r.x-a.from_greenwich,y:r.y,z:r.z||0}),\"longlat\"===a.projName?r={x:r.x*u.R2D,y:r.y*u.R2D,z:r.z||0}:(r=a.forward(r),a.to_meter&&(r={x:r.x/a.to_meter,y:r.y/a.to_meter,z:r.z||0})),\"enu\"!==a.axis?_.default(a,!0,r):r}},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const u=e(44),o=e(66);function _(e){return e===u.PJD_3PARAM||e===u.PJD_7PARAM}a.default=function(e,t,a){return o.compareDatums(e,t)||e.datum_type===u.PJD_NODATUM||t.datum_type===u.PJD_NODATUM?a:e.es!==t.es||e.a!==t.a||_(e.datum_type)||_(t.datum_type)?(a=o.geodeticToGeocentric(a,e.es,e.a),_(e.datum_type)&&(a=o.geocentricToWgs84(a,e.datum_type,e.datum_params)),_(t.datum_type)&&(a=o.geocentricFromWgs84(a,t.datum_type,t.datum_params)),o.geocentricToGeodetic(a,t.es,t.a,t.b)):a}},\n", + " function _(a,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=a(44);r.compareDatums=function(a,t){return a.datum_type===t.datum_type&&(!(a.a!==t.a||Math.abs(a.es-t.es)>5e-11)&&(a.datum_type===e.PJD_3PARAM?a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]:a.datum_type!==e.PJD_7PARAM||a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]&&a.datum_params[3]===t.datum_params[3]&&a.datum_params[4]===t.datum_params[4]&&a.datum_params[5]===t.datum_params[5]&&a.datum_params[6]===t.datum_params[6]))},r.geodeticToGeocentric=function(a,t,r){var m,u,s,_,n=a.x,d=a.y,i=a.z?a.z:0;if(d<-e.HALF_PI&&d>-1.001*e.HALF_PI)d=-e.HALF_PI;else if(d>e.HALF_PI&&d<1.001*e.HALF_PI)d=e.HALF_PI;else{if(d<-e.HALF_PI)return{x:-1/0,y:-1/0,z:a.z};if(d>e.HALF_PI)return{x:1/0,y:1/0,z:a.z}}return n>Math.PI&&(n-=2*Math.PI),u=Math.sin(d),_=Math.cos(d),s=u*u,{x:((m=r/Math.sqrt(1-t*s))+i)*_*Math.cos(n),y:(m+i)*_*Math.sin(n),z:(m*(1-t)+i)*u}},r.geocentricToGeodetic=function(a,t,r,m){var u,s,_,n,d,i,p,P,o,y,M,z,c,A,x,f=a.x,h=a.y,I=a.z?a.z:0;if(u=Math.sqrt(f*f+h*h),s=Math.sqrt(f*f+h*h+I*I),u/r<1e-12){if(A=0,s/r<1e-12)return e.HALF_PI,x=-m,{x:a.x,y:a.y,z:a.z}}else A=Math.atan2(h,f);_=I/s,P=(n=u/s)*(1-t)*(d=1/Math.sqrt(1-t*(2-t)*n*n)),o=_*d,c=0;do{c++,i=t*(p=r/Math.sqrt(1-t*o*o))/(p+(x=u*P+I*o-p*(1-t*o*o))),z=(M=_*(d=1/Math.sqrt(1-i*(2-i)*n*n)))*P-(y=n*(1-i)*d)*o,P=y,o=M}while(z*z>1e-24&&c<30);return{x:A,y:Math.atan(M/Math.abs(y)),z:x}},r.geocentricToWgs84=function(a,t,r){if(t===e.PJD_3PARAM)return{x:a.x+r[0],y:a.y+r[1],z:a.z+r[2]};if(t===e.PJD_7PARAM){var m=r[0],u=r[1],s=r[2],_=r[3],n=r[4],d=r[5],i=r[6];return{x:i*(a.x-d*a.y+n*a.z)+m,y:i*(d*a.x+a.y-_*a.z)+u,z:i*(-n*a.x+_*a.y+a.z)+s}}},r.geocentricFromWgs84=function(a,t,r){if(t===e.PJD_3PARAM)return{x:a.x-r[0],y:a.y-r[1],z:a.z-r[2]};if(t===e.PJD_7PARAM){var m=r[0],u=r[1],s=r[2],_=r[3],n=r[4],d=r[5],i=r[6],p=(a.x-m)/i,P=(a.y-u)/i,o=(a.z-s)/i;return{x:p+d*P-n*o,y:-d*p+P+_*o,z:n*p-_*P+o}}}},\n", + " function _(e,a,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.default=function(e,a,i){var s,n,r,c=i.x,d=i.y,u=i.z||0,f={};for(r=0;r<3;r++)if(!a||2!==r||void 0!==i.z)switch(0===r?(s=c,n=-1!==\"ew\".indexOf(e.axis[r])?\"x\":\"y\"):1===r?(s=d,n=-1!==\"ns\".indexOf(e.axis[r])?\"y\":\"x\"):(s=u,n=\"z\"),e.axis[r]){case\"e\":case\"w\":case\"n\":case\"s\":f[n]=s;break;case\"u\":void 0!==i[n]&&(f.z=s);break;case\"d\":void 0!==i[n]&&(f.z=-s);break;default:return null}return f}},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var n={x:e[0],y:e[1]};return e.length>2&&(n.z=e[2]),e.length>3&&(n.m=e[3]),n}},\n", + " function _(e,i,n){function t(e){if(\"function\"==typeof Number.isFinite){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(\"number\"!=typeof e||e!=e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e){t(e.x),t(e.y)}},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),r=e(71),s=n.__importStar(e(74)),_=n.__importStar(e(18)),a=e(81),o=e(82);class l extends r.View{get coordinates(){return this._coordinates}initialize(){super.initialize(),this.visuals=new s.Visuals(this.model),this.needs_webgl_blit=!1,this._initialize_coordinates()}connect_signals(){super.connect_signals();const{x_range_name:e,y_range_name:i}=this.model.properties;this.on_change([e,i],()=>this._initialize_coordinates())}_initialize_coordinates(){const{x_range_name:e,y_range_name:i}=this.model,{frame:t}=this.plot_view,n=t.x_scales.get(e),r=t.y_scales.get(i);this._coordinates=new o.CoordinateTransform(n,r)}get plot_view(){return this.parent}get plot_model(){return this.parent.model}get layer(){const{overlays:e,primary:i}=this.plot_view.canvas_view;return\"overlay\"==this.model.level?e:i}request_render(){this.plot_view.request_render()}notify_finished(){this.plot_view.notify_finished()}get needs_clip(){return!1}get has_webgl(){return!1}render(){this.model.visible&&this._render(),this._has_finished=!0}}t.RendererView=l,l.__name__=\"RendererView\";class d extends a.Model{constructor(e){super(e)}static init_Renderer(){this.define({level:[_.RenderLevel],visible:[_.Boolean,!0],x_range_name:[_.String,\"default\"],y_range_name:[_.String,\"default\"]})}}t.Renderer=d,d.__name__=\"Renderer\",d.init_Renderer()},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),r=t(15),n=t(72),o=t(8),h=i.__importDefault(t(73));class a{constructor(t){if(this.removed=new r.Signal0(this,\"removed\"),this._ready=Promise.resolve(void 0),null==t.model)throw new Error(\"model of a view wasn't configured\");this.model=t.model,this._parent=t.parent}get ready(){return this._ready}connect(t,e){return t.connect((t,s)=>{const i=Promise.resolve(e.call(this,t,s));this._ready=this._ready.then(()=>i)},this)}disconnect(t,e){return t.disconnect(e,this)}initialize(){this._has_finished=!1,this.is_root&&(this._stylesheet=n.stylesheet);for(const t of this.styles())this.stylesheet.append(t)}async lazy_initialize(){}remove(){this._parent=void 0,this.disconnect_signals(),this.removed.emit()}toString(){return`${this.model.type}View(${this.model.id})`}serializable_state(){return{type:this.model.type}}get parent(){if(void 0!==this._parent)return this._parent;throw new Error(\"parent of a view wasn't configured\")}get is_root(){return null===this.parent}get root(){return this.is_root?this:this.parent.root}assert_root(){if(!this.is_root)throw new Error(this.toString()+\" is not a root layout\")}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){r.Signal.disconnectReceiver(this)}on_change(t,e){for(const s of o.isArray(t)?t:[t])this.connect(s.change,e)}cursor(t,e){return null}get stylesheet(){return this.is_root?this._stylesheet:this.root.stylesheet}styles(){return[h.default]}}s.View=a,a.__name__=\"View\"},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=t(8),o=t(13),s=t=>(e={},...n)=>{const s=document.createElement(t);s.classList.add(\"bk\");for(let[t,n]of o.entries(e))if(null!=n&&(!i.isBoolean(n)||n))if(\"class\"===t&&(i.isString(n)&&(n=n.split(/\\s+/)),i.isArray(n)))for(const t of n)null!=t&&s.classList.add(t);else if(\"style\"===t&&i.isPlainObject(n))for(const[t,e]of o.entries(n))s.style[t]=e;else if(\"data\"===t&&i.isPlainObject(n))for(const[t,e]of o.entries(n))s.dataset[t]=e;else s.setAttribute(t,n);function l(t){if(i.isString(t))s.appendChild(document.createTextNode(t));else if(t instanceof Node)s.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)s.appendChild(e);else if(null!=t&&!1!==t)throw new Error(\"expected a DOM element, string, false or null, got \"+JSON.stringify(t))}for(const t of n)if(i.isArray(t))for(const e of t)l(e);else l(t);return s};function l(t){const e=t.parentNode;null!=e&&e.removeChild(t)}function r(t,...e){const n=t.firstChild;for(const i of e)t.insertBefore(i,n)}function a(t,e){const n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector).call(t,e)}function c(t){return parseFloat(t)||0}function h(t){const e=getComputedStyle(t);return{border:{top:c(e.borderTopWidth),bottom:c(e.borderBottomWidth),left:c(e.borderLeftWidth),right:c(e.borderRightWidth)},margin:{top:c(e.marginTop),bottom:c(e.marginBottom),left:c(e.marginLeft),right:c(e.marginRight)},padding:{top:c(e.paddingTop),bottom:c(e.paddingBottom),left:c(e.paddingLeft),right:c(e.paddingRight)}}}function d(t){const e=t.getBoundingClientRect();return{width:Math.ceil(e.width),height:Math.ceil(e.height)}}n.createElement=function(t,e,...n){return s(t)(e,...n)},n.div=s(\"div\"),n.span=s(\"span\"),n.canvas=s(\"canvas\"),n.link=s(\"link\"),n.style=s(\"style\"),n.a=s(\"a\"),n.p=s(\"p\"),n.i=s(\"i\"),n.pre=s(\"pre\"),n.button=s(\"button\"),n.label=s(\"label\"),n.input=s(\"input\"),n.select=s(\"select\"),n.option=s(\"option\"),n.optgroup=s(\"optgroup\"),n.textarea=s(\"textarea\"),n.nbsp=function(){return document.createTextNode(\" \")},n.append=function(t,...e){for(const n of e)t.appendChild(n)},n.remove=l,n.removeElement=l,n.replaceWith=function(t,e){const n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=r,n.empty=function(t,e=!1){let n;for(;n=t.firstChild;)t.removeChild(n);if(e&&t instanceof Element)for(const e of t.attributes)t.removeAttributeNode(e)},n.display=function(t){t.style.display=\"\"},n.undisplay=function(t){t.style.display=\"none\"},n.show=function(t){t.style.visibility=\"\"},n.hide=function(t){t.style.visibility=\"hidden\"},n.offset=function(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=a,n.parent=function(t,e){let n=t;for(;n=n.parentElement;)if(a(n,e))return n;return null},n.extents=h,n.size=d,n.scroll_size=function(t){return{width:Math.ceil(t.scrollWidth),height:Math.ceil(t.scrollHeight)}},n.outer_size=function(t){const{margin:{left:e,right:n,top:i,bottom:o}}=h(t),{width:s,height:l}=d(t);return{width:Math.ceil(s+e+n),height:Math.ceil(l+i+o)}},n.content_size=function(t){const{left:e,top:n}=t.getBoundingClientRect(),{padding:i}=h(t);let o=0,s=0;for(const l of t.children){const t=l.getBoundingClientRect();o=Math.max(o,Math.ceil(t.left-e-i.left+t.width)),s=Math.max(s,Math.ceil(t.top-n-i.top+t.height))}return{width:o,height:s}},n.position=function(t,e,n){const{style:i}=t;if(i.left=e.x+\"px\",i.top=e.y+\"px\",i.width=e.width+\"px\",i.height=e.height+\"px\",null==n)i.margin=\"\";else{const{top:t,right:e,bottom:o,left:s}=n;i.margin=`${t}px ${e}px ${o}px ${s}px`}},n.children=function(t){return Array.from(t.children)};class f{constructor(t){this.el=t,this.classList=t.classList}get values(){const t=[];for(let e=0;e\":\"vertical_wave\",\"*\":\"criss_cross\"};class p{constructor(e,t=\"\"){this.obj=e,this.prefix=t,this.cache={};for(const a of this.attrs)this[a]=e.properties[t+a]}warm_cache(e,t){for(const a of this.attrs){const s=this.obj.properties[this.prefix+a];if(void 0!==s.spec.value)this.cache[a]=s.spec.value;else{if(!(null!=e&&s instanceof c.VectorSpec))throw new Error(\"source is required with a vectorized visual property\");{const l=s.array(e),c=null!=t?t.select(l):l;this.cache[a+\"_array\"]=c}}}}cache_select(e,t){const a=this.obj.properties[this.prefix+e];let s;return void 0!==a.spec.value?this.cache[e]=s=a.spec.value:this.cache[e]=s=this.cache[e+\"_array\"][t],s}get_array(e){return this.cache[e+\"_array\"]}set_vectorize(e,t){this._set_vectorize(e,t)}}a.ContextProperties=p,p.__name__=\"ContextProperties\";class f extends p{set_value(e){const t=this.line_color.value(),a=this.line_alpha.value();e.strokeStyle=n(t,a),e.lineWidth=this.line_width.value(),e.lineJoin=this.line_join.value(),e.lineCap=this.line_cap.value(),e.lineDash=this.line_dash.value(),e.lineDashOffset=this.line_dash_offset.value()}get doit(){return!(null===this.line_color.spec.value||0==this.line_alpha.spec.value||0==this.line_width.spec.value)}_set_vectorize(e,t){const a=this.cache_select(\"line_color\",t),s=this.cache_select(\"line_alpha\",t),l=this.cache_select(\"line_width\",t),c=this.cache_select(\"line_join\",t),i=this.cache_select(\"line_cap\",t),o=this.cache_select(\"line_dash\",t),r=this.cache_select(\"line_dash_offset\",t);e.strokeStyle=n(a,s),e.lineWidth=l,e.lineJoin=c,e.lineCap=i,e.lineDash=o,e.lineDashOffset=r}color_value(){return n(this.line_color.value(),this.line_alpha.value())}}a.Line=f,f.__name__=\"Line\",f.prototype.attrs=Object.keys(l.LineVector);class d extends p{set_value(e){const t=this.fill_color.value(),a=this.fill_alpha.value();e.fillStyle=n(t,a)}get doit(){return!(null===this.fill_color.spec.value||0==this.fill_alpha.spec.value)}_set_vectorize(e,t){const a=this.cache_select(\"fill_color\",t),s=this.cache_select(\"fill_alpha\",t);e.fillStyle=n(a,s)}color_value(){return n(this.fill_color.value(),this.fill_alpha.value())}}a.Fill=d,d.__name__=\"Fill\",d.prototype.attrs=Object.keys(l.FillVector);class k extends p{cache_select(e,t){let s;if(\"pattern\"==e){const e=this.cache_select(\"hatch_color\",t),s=this.cache_select(\"hatch_alpha\",t),l=this.cache_select(\"hatch_scale\",t),c=this.cache_select(\"hatch_pattern\",t),i=this.cache_select(\"hatch_weight\",t),{hatch_extra:o}=this.cache;if(null!=o&&o.hasOwnProperty(c)){const t=o[c];this.cache.pattern=t.get_pattern(e,s,l,i)}else this.cache.pattern=t=>{const o=t instanceof r.SVGRenderingContext2D?\"svg\":\"canvas\",p=new h.CanvasLayer(o,!0);return p.resize(l,l),p.prepare(),function(e,t,s,l,c,i){var o;const r=c,h=r/2,p=h/2;switch(e.strokeStyle=n(s,l),e.lineCap=\"square\",e.fillStyle=s,e.lineWidth=i,null!==(o=a.hatch_aliases[t])&&void 0!==o?o:t){case\"blank\":break;case\"dot\":e.arc(h,h,h/2,0,2*Math.PI,!0),e.fill();break;case\"ring\":e.arc(h,h,h/2,0,2*Math.PI,!0),e.stroke();break;case\"horizontal_line\":_(e,r,h);break;case\"vertical_line\":u(e,r,h);break;case\"cross\":_(e,r,h),u(e,r,h);break;case\"horizontal_dash\":_(e,h,h);break;case\"vertical_dash\":u(e,h,h);break;case\"spiral\":{const t=r/30;e.moveTo(h,h);for(let a=0;a<360;a++){const s=.1*a,l=h+t*s*Math.cos(s),c=h+t*s*Math.sin(s);e.lineTo(l,c)}e.stroke();break}case\"right_diagonal_line\":e.moveTo(.5-p,r),e.lineTo(p+.5,0),e.stroke(),e.moveTo(p+.5,r),e.lineTo(3*p+.5,0),e.stroke(),e.moveTo(3*p+.5,r),e.lineTo(5*p+.5,0),e.stroke(),e.stroke();break;case\"left_diagonal_line\":e.moveTo(p+.5,r),e.lineTo(.5-p,0),e.stroke(),e.moveTo(3*p+.5,r),e.lineTo(p+.5,0),e.stroke(),e.moveTo(5*p+.5,r),e.lineTo(3*p+.5,0),e.stroke(),e.stroke();break;case\"diagonal_cross\":v(e,r);break;case\"right_diagonal_dash\":e.moveTo(p+.5,3*p+.5),e.lineTo(3*p+.5,p+.5),e.stroke();break;case\"left_diagonal_dash\":e.moveTo(p+.5,p+.5),e.lineTo(3*p+.5,3*p+.5),e.stroke();break;case\"horizontal_wave\":e.moveTo(0,p),e.lineTo(h,3*p),e.lineTo(r,p),e.stroke();break;case\"vertical_wave\":e.moveTo(p,0),e.lineTo(3*p,h),e.lineTo(p,r),e.stroke();break;case\"criss_cross\":v(e,r),_(e,r,h),u(e,r,h)}}(p.ctx,c,e,s,l,i),t.createPattern(p.canvas,\"repeat\")}}else s=super.cache_select(e,t);return s}_try_defer(e){const{hatch_pattern:t,hatch_extra:a}=this.cache;if(null!=a&&a.hasOwnProperty(t)){a[t].onload(e)}}get doit(){return!(null===this.hatch_color.spec.value||0==this.hatch_alpha.spec.value||\" \"==this.hatch_pattern.spec.value||\"blank\"==this.hatch_pattern.spec.value||null===this.hatch_pattern.spec.value)}doit2(e,t,a,s){if(!this.doit)return;this.cache_select(\"pattern\",t);null==this.cache.pattern(e)?this._try_defer(s):(this.set_vectorize(e,t),a())}_set_vectorize(e,t){this.cache_select(\"pattern\",t),e.fillStyle=this.cache.pattern(e)}color_value(){return n(this.hatch_color.value(),this.hatch_alpha.value())}}a.Hatch=k,k.__name__=\"Hatch\",k.prototype.attrs=Object.keys(l.HatchVector);class x extends p{color_value(){return n(this.text_color.value(),this.text_alpha.value())}font_value(){const e=this.text_font.value(),t=this.text_font_size.value();return`${this.text_font_style.value()} ${t} ${e}`}v_font_value(e){super.cache_select(\"text_font_style\",e),super.cache_select(\"text_font_size\",e),super.cache_select(\"text_font\",e);const{text_font_style:t,text_font_size:a,text_font:s}=this.cache;return`${t} ${a} ${s}`}cache_select(e,t){let a;return\"font\"==e?this.cache.font=a=this.v_font_value(t):a=super.cache_select(e,t),a}set_value(e){const t=this.text_color.value(),a=this.text_alpha.value();e.fillStyle=n(t,a),e.font=this.font_value(),e.textAlign=this.text_align.value(),e.textBaseline=this.text_baseline.value()}get doit(){return!(null===this.text_color.spec.value||0==this.text_alpha.spec.value)}_set_vectorize(e,t){const a=this.cache_select(\"text_color\",t),s=this.cache_select(\"text_alpha\",t),l=this.cache_select(\"font\",t),c=this.cache_select(\"text_align\",t),i=this.cache_select(\"text_baseline\",t);e.fillStyle=n(a,s),e.font=l,e.textAlign=c,e.textBaseline=i}}a.Text=x,x.__name__=\"Text\",x.prototype.attrs=Object.keys(l.TextVector);class b{constructor(e){for(const t of e._mixins){const[a,s=\"\"]=t.split(\":\");let l;switch(a){case\"line\":l=f;break;case\"fill\":l=d;break;case\"hatch\":l=k;break;case\"text\":l=x;break;default:throw new Error(\"unknown visual: \"+a)}this[s+a]=new l(e,s)}}warm_cache(e,t){for(const a in this)if(this.hasOwnProperty(a)){const s=this[a];s instanceof p&&s.warm_cache(e,t)}}}a.Visuals=b,b.__name__=\"Visuals\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(76),n=t(8),r=t(72);function a(t){if(!t)throw new Error(\"cannot create a random attribute name for an undefined object\");const e=\"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\";let i=\"\";do{i=\"\";for(let t=0;t<12;t++)i+=e[Math.floor(Math.random()*e.length)]}while(t[i]);return i}function o(t){const e={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return e[t]||e.start}function l(t){const e={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return e[t]||e.alphabetic}const h=function(t,e){const i=new Map,s=t.split(\",\");e=e||10;for(let t=0;t=0?Math.acos(e):-Math.acos(e)}const b=w(f),v=w(g);this.lineTo(d+f[0]*n,m+f[1]*n),this.arc(d,m,n,b,v)}stroke(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}fill(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&(\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+s),this.lineTo(t,e+s),this.lineTo(t,e))}fillRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.fill())}strokeRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.stroke())}__clearCanvas(){r.empty(this.__defs),r.empty(this.__root),this.__root.appendChild(this.__defs),this.__currentElement=this.__root}clearRect(t,e,i,s){if(!isFinite(t+e+i+s))return;if(0===t&&0===e&&i===this.width&&s===this.height)return void this.__clearCanvas();const n=this.__createElement(\"rect\",{x:t,y:e,width:i,height:s,fill:\"#FFFFFF\"},!0);this._apply_transform(n),this.__root.appendChild(n)}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error(\"The provided double value is non-finite\");const[n,r]=this._transform.apply(t,e),[o,l]=this._transform.apply(i,s),h=this.__createElement(\"linearGradient\",{id:a(this.__ids),x1:n+\"px\",x2:o+\"px\",y1:r+\"px\",y2:l+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(h),new _(h,this)}createRadialGradient(t,e,i,s,n,r){if(!isFinite(t+e+i+s+n+r))throw new Error(\"The provided double value is non-finite\");const[o,l]=this._transform.apply(t,e),[h,c]=this._transform.apply(s,n),u=this.__createElement(\"radialGradient\",{id:a(this.__ids),cx:h+\"px\",cy:c+\"px\",r:r+\"px\",fx:o+\"px\",fy:l+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(u),new _(u,this)}__parseFont(){const t=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font),e={style:t[1]||\"normal\",size:t[4]||\"10px\",family:t[6]||\"sans-serif\",weight:t[3]||\"normal\",decoration:t[2]||\"normal\"};return\"underline\"===this.__fontUnderline&&(e.decoration=\"underline\"),null!=this.__fontHref&&(e.href=this.__fontHref),e}__wrapTextLink(t,e){if(t.href){const i=this.__createElement(\"a\");return i.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.href),i.appendChild(e),i}return e}__applyText(t,e,i,s){const n=this.__parseFont(),r=this.__createElement(\"text\",{\"font-family\":n.family,\"font-size\":n.size,\"font-style\":n.style,\"font-weight\":n.weight,\"text-decoration\":n.decoration,x:e,y:i,\"text-anchor\":o(this.textAlign),\"dominant-baseline\":l(this.textBaseline)},!0);r.appendChild(this.__document.createTextNode(t)),this._apply_transform(r),this.__currentElement=r,this.__applyStyleToCurrentElement(s),this.__root.appendChild(this.__wrapTextLink(n,r))}fillText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"fill\")}strokeText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"stroke\")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,e,i,s,n,r=!1){if(!isFinite(t+e+i+s+n))return;if(s===n)return;(s%=2*Math.PI)===(n%=2*Math.PI)&&(n=(n+2*Math.PI-.001*(r?-1:1))%(2*Math.PI));const a=t+i*Math.cos(n),o=e+i*Math.sin(n),l=t+i*Math.cos(s),h=e+i*Math.sin(s),c=r?0:1;let _=0,u=n-s;u<0&&(u+=2*Math.PI),_=r?u>Math.PI?0:1:u>Math.PI?1:0,this.lineTo(l,h);const p=i,d=i,[m,f]=this._transform.apply(a,o);this.__addPathCommand(m,f,`A ${p} ${d} 0 ${_} ${c} ${m} ${f}`)}clip(){const t=this.__createElement(\"clipPath\"),e=a(this.__ids);this.__applyCurrentDefaultPath(),t.setAttribute(\"id\",e),t.appendChild(this.__currentElement),this.__defs.appendChild(t),this._clip_path=`url(#${e})`}drawImage(t,...e){let i,s,n,r,a,o,l,h;if(2==e.length){if([i,s]=e,!isFinite(i+s))return;a=0,o=0,l=t.width,h=t.height,n=l,r=h}else if(4==e.length){if([i,s,n,r]=e,!isFinite(i+s+n+r))return;a=0,o=0,l=t.width,h=t.height}else{if(8!==e.length)throw new Error(\"Inavlid number of arguments passed to drawImage: \"+arguments.length);if([a,o,l,h,i,s,n,r]=e,!isFinite(a+o+l+h+i+s+n+r))return}const c=this.__root,_=\"translate(\"+i+\", \"+s+\")\",u=this._transform.clone().translate(i,s);if(t instanceof p||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;u.is_identity?i=c:(i=this.__createElement(\"g\"),this._apply_transform(i,u),c.appendChild(i));for(const t of[...e.childNodes])if(t instanceof SVGDefsElement){for(const e of[...t.childNodes])if(e instanceof Element){const t=e.getAttribute(\"id\");this.__ids[t]=t,this.__defs.appendChild(e)}}else i.appendChild(t)}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement(\"image\");if(e.setAttribute(\"width\",\"\"+n),e.setAttribute(\"height\",\"\"+r),e.setAttribute(\"preserveAspectRatio\",\"none\"),a||o||l!==t.width||h!==t.height){const e=this.__document.createElement(\"canvas\");e.width=n,e.height=r;e.getContext(\"2d\").drawImage(t,a,o,l,h,0,0,n,r),t=e}e.setAttribute(\"transform\",_);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",i),c.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement(\"image\");e.setAttribute(\"width\",\"\"+n),e.setAttribute(\"height\",\"\"+r),e.setAttribute(\"preserveAspectRatio\",\"none\");const i=this.__document.createElement(\"canvas\");i.width=n,i.height=r;const s=i.getContext(\"2d\");s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,n,r),t=i,e.setAttribute(\"transform\",_),e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.toDataURL()),c.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),s=a(this.__ids);if(i.setAttribute(\"id\",s),i.setAttribute(\"width\",\"\"+this._to_number(t.width)),i.setAttribute(\"height\",\"\"+this._to_number(t.height)),i.setAttribute(\"patternUnits\",\"userSpaceOnUse\"),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\"),s=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof p){for(const e of[...t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e);this.__defs.appendChild(i)}else{if(!(t instanceof SVGSVGElement))throw new Error(\"unsupported\");for(const e of[...t.childNodes])e instanceof SVGDefsElement||i.appendChild(e);this.__defs.appendChild(i)}return new u(i,this)}setLineDash(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null}_to_number(t){return n.isNumber(t)?t:t.baseVal.value}}i.SVGRenderingContext2D=p,p.__name__=\"SVGRenderingContext2D\"},\n", + " function _(t,s,r){Object.defineProperty(r,\"__esModule\",{value:!0});const{sin:e,cos:n}=Math;class i{constructor(t=1,s=0,r=0,e=1,n=0,i=0){this.a=t,this.b=s,this.c=r,this.d=e,this.e=n,this.f=i}toString(){const{a:t,b:s,c:r,d:e,e:n,f:i}=this;return`matrix(${t}, ${s}, ${r}, ${e}, ${n}, ${i})`}clone(){const{a:t,b:s,c:r,d:e,e:n,f:a}=this;return new i(t,s,r,e,n,a)}get is_identity(){const{a:t,b:s,c:r,d:e,e:n,f:i}=this;return 1==t&&0==s&&0==r&&1==e&&0==n&&0==i}apply(t,s){const{a:r,b:e,c:n,d:i,e:a,f:h}=this;return[r*t+n*s+a,e*t+i*s+h]}iv_apply(t,s){const{a:r,b:e,c:n,d:i,e:a,f:h}=this,c=t.length;for(let o=0;o{const e=document.createElement(\"canvas\"),t=e.getContext(\"webgl\",{premultipliedAlpha:!0});return null!=t?{canvas:e,gl:t}:void l.logger.trace(\"WebGL is not supported\")})(),v={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};class b{constructor(e,t){switch(this.backend=e,this.hidpi=t,this.pixel_ratio=1,this.bbox=new c.BBox,e){case\"webgl\":case\"canvas\":{this._el=this._canvas=r.canvas({style:v});const e=this.canvas.getContext(\"2d\");if(null==e)throw new Error(\"unable to obtain 2D rendering context\");this._ctx=e,t&&(this.pixel_ratio=devicePixelRatio);break}case\"svg\":{const e=new d.SVGRenderingContext2D;this._ctx=e,this._canvas=e.get_svg(),this._el=r.div({style:v},this._canvas);break}}_.fixup_ctx(this._ctx)}get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}resize(e,t){this.bbox=new c.BBox({left:0,top:0,width:e,height:t});const i=this._ctx instanceof d.SVGRenderingContext2D?this._ctx:this.canvas;i.width=e*this.pixel_ratio,i.height=t*this.pixel_ratio}prepare(){const{ctx:e,hidpi:t,pixel_ratio:i}=this;e.save(),t&&(e.scale(i,i),e.translate(.5,.5)),this.clear()}clear(){const{x:e,y:t,width:i,height:s}=this.bbox;this.ctx.clearRect(e,t,i,s)}finish(){this.ctx.restore()}to_blob(){const{_canvas:e}=this;if(e instanceof HTMLCanvasElement)return null!=e.msToBlob?Promise.resolve(e.msToBlob()):new Promise((t,i)=>{e.toBlob(e=>null!=e?t(e):i(),\"image/png\")});{const e=this._ctx.get_serialized_svg(!0),t=new Blob([e],{type:\"image/svg+xml\"});return Promise.resolve(t)}}}i.CanvasLayer=b,b.__name__=\"CanvasLayer\";class g extends n.DOMView{constructor(){super(...arguments),this.bbox=new c.BBox}initialize(){super.initialize();const{output_backend:e,hidpi:t}=this.model;\"webgl\"==e&&(this.webgl=p),this.underlays_el=r.div({style:v}),this.primary=new b(e,t),this.overlays=new b(e,t),this.overlays_el=r.div({style:v}),this.events_el=r.div({class:\"bk-canvas-events\",style:v});const i=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];h.extend(this.el.style,v),r.append(this.el,...i),l.logger.debug(\"CanvasView initialized\")}add_underlay(e){this.underlays_el.appendChild(e)}add_overlay(e){this.overlays_el.appendChild(e)}add_event(e){this.events_el.appendChild(e)}get pixel_ratio(){return this.primary.pixel_ratio}resize(e,t){this.bbox=new c.BBox({left:0,top:0,width:e,height:t}),this.primary.resize(e,t),this.overlays.resize(e,t)}prepare_webgl(e){const{webgl:t}=this;if(null!=t){const{width:i,height:s}=this.bbox;t.canvas.width=this.pixel_ratio*i,t.canvas.height=this.pixel_ratio*s;const{gl:a}=t;a.enable(a.SCISSOR_TEST);const[n,l,o,r]=e,{xview:h,yview:c}=this.bbox,_=h.compute(n),d=c.compute(l+r),p=this.pixel_ratio;a.scissor(p*_,p*d,p*o,p*r),a.enable(a.BLEND),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE_MINUS_DST_ALPHA,a.ONE)}}clear_webgl(){const{webgl:e}=this;if(null!=e){const{gl:t,canvas:i}=e;t.viewport(0,0,i.width,i.height),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT||t.DEPTH_BUFFER_BIT)}}blit_webgl(e){const{webgl:t}=this;if(null!=t&&(l.logger.debug(\"Blitting WebGL canvas\"),e.restore(),e.drawImage(t.canvas,0,0),e.save(),this.model.hidpi)){const t=this.pixel_ratio;e.scale(t,t),e.translate(.5,.5)}}compose(){const{output_backend:e,hidpi:t}=this.model,{width:i,height:s}=this.bbox,a=new b(e,t);return a.resize(i,s),a.ctx.drawImage(this.primary.canvas,0,0),a.ctx.drawImage(this.overlays.canvas,0,0),a}to_blob(){return this.compose().to_blob()}}i.CanvasView=g,g.__name__=\"CanvasView\";class x extends a.HasProps{constructor(e){super(e)}static init_Canvas(){this.prototype.default_view=g,this.internal({hidpi:[o.Boolean,!0],output_backend:[o.OutputBackend,\"canvas\"]})}}i.Canvas=x,x.__name__=\"Canvas\",x.init_Canvas()},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(71),r=e(72);class n extends i.View{initialize(){super.initialize(),this.el=this._createElement()}remove(){r.remove(this.el),super.remove()}css_classes(){return[]}render(){}renderTo(e){e.appendChild(this.el),this.render()}_createElement(){return r.createElement(this.tagName,{class:this.css_classes()})}}t.DOMView=n,n.__name__=\"DOMView\",n.prototype.tagName=\"div\"},\n", + " function _(t,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const h=t(24),{min:r,max:s}=Math;e.empty=function(){return{x0:1/0,y0:1/0,x1:-1/0,y1:-1/0}},e.positive_x=function(){return{x0:Number.MIN_VALUE,y0:-1/0,x1:1/0,y1:1/0}},e.positive_y=function(){return{x0:-1/0,y0:Number.MIN_VALUE,x1:1/0,y1:1/0}},e.union=function(t,i){return{x0:r(t.x0,i.x0),x1:s(t.x1,i.x1),y0:r(t.y0,i.y0),y1:s(t.y1,i.y1)}};class n{constructor(t){if(null==t)this.x0=0,this.y0=0,this.x1=0,this.y1=0;else if(\"x0\"in t){const{x0:i,y0:e,x1:h,y1:r}=t;if(!(i<=h&&e<=r))throw new Error(`invalid bbox {x0: ${i}, y0: ${e}, x1: ${h}, y1: ${r}}`);this.x0=i,this.y0=e,this.x1=h,this.y1=r}else if(\"x\"in t){const{x:i,y:e,width:h,height:r}=t;if(!(h>=0&&r>=0))throw new Error(`invalid bbox {x: ${i}, y: ${e}, width: ${h}, height: ${r}}`);this.x0=i,this.y0=e,this.x1=i+h,this.y1=e+r}else{let i,e,h,r;if(\"width\"in t)if(\"left\"in t)i=t.left,e=i+t.width;else if(\"right\"in t)e=t.right,i=e-t.width;else{const h=t.width/2;i=t.hcenter-h,e=t.hcenter+h}else i=t.left,e=t.right;if(\"height\"in t)if(\"top\"in t)h=t.top,r=h+t.height;else if(\"bottom\"in t)r=t.bottom,h=r-t.height;else{const i=t.height/2;h=t.vcenter-i,r=t.vcenter+i}else h=t.top,r=t.bottom;if(!(i<=e&&h<=r))throw new Error(`invalid bbox {left: ${i}, top: ${h}, right: ${e}, bottom: ${r}}`);this.x0=i,this.y0=h,this.x1=e,this.y1=r}}toString(){return`BBox({left: ${this.left}, top: ${this.top}, width: ${this.width}, height: ${this.height}})`}get left(){return this.x0}get top(){return this.y0}get right(){return this.x1}get bottom(){return this.y1}get p0(){return[this.x0,this.y0]}get p1(){return[this.x1,this.y1]}get x(){return this.x0}get y(){return this.y0}get width(){return this.x1-this.x0}get height(){return this.y1-this.y0}get rect(){return{x0:this.x0,y0:this.y0,x1:this.x1,y1:this.y1}}get box(){return{x:this.x,y:this.y,width:this.width,height:this.height}}get h_range(){return{start:this.x0,end:this.x1}}get v_range(){return{start:this.y0,end:this.y1}}get ranges(){return[this.h_range,this.v_range]}get aspect(){return this.width/this.height}get hcenter(){return(this.left+this.right)/2}get vcenter(){return(this.top+this.bottom)/2}relativize(){const{width:t,height:i}=this;return new n({x:0,y:0,width:t,height:i})}contains(t,i){return t>=this.x0&&t<=this.x1&&i>=this.y0&&i<=this.y1}clip(t,i){return tthis.x1&&(t=this.x1),ithis.y1&&(i=this.y1),[t,i]}union(t){return new n({x0:r(this.x0,t.x0),y0:r(this.y0,t.y0),x1:s(this.x1,t.x1),y1:s(this.y1,t.y1)})}equals(t){return this.x0==t.x0&&this.y0==t.y0&&this.x1==t.x1&&this.y1==t.y1}get xview(){return{compute:t=>this.left+t,v_compute:t=>{const i=new h.NumberArray(t.length),e=this.left;for(let h=0;hthis.bottom-t,v_compute:t=>{const i=new h.NumberArray(t.length),e=this.bottom;for(let h=0;he.getLineDash(),set:t=>e.setLineDash(t)})}(e),function(e){e.setImageSmoothingEnabled=t=>{e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.oImageSmoothingEnabled=t,e.webkitImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t},e.getImageSmoothingEnabled=()=>{const t=e.imageSmoothingEnabled;return null==t||t}}(e),function(e){e.measureText&&null==e.html5MeasureText&&(e.html5MeasureText=e.measureText,e.measureText=t=>{const n=e.html5MeasureText(t);return n.ascent=1.6*e.html5MeasureText(\"m\").width,n})}(e),function(e){e.ellipse||(e.ellipse=function(t,n,o,a,i,l,m,r=!1){const u=.551784;e.translate(t,n),e.rotate(i);let s=o,g=a;r&&(s=-o,g=-a),e.moveTo(-s,0),e.bezierCurveTo(-s,g*u,-s*u,g,0,g),e.bezierCurveTo(s*u,g,s,g*u,s,0),e.bezierCurveTo(s,-g*u,s*u,-g,0,-g),e.bezierCurveTo(-s*u,-g,-s,-g*u,-s,0),e.rotate(-i),e.translate(-t,-n)})}(e)}},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(1),c=e(14),i=n.__importStar(e(18)),a=e(8),r=e(13),o=e(19);class l extends c.HasProps{constructor(e){super(e)}static init_Model(){this.define({tags:[i.Array,[]],name:[i.String],js_property_callbacks:[i.Any,{}],js_event_callbacks:[i.Any,{}],subscribed_events:[i.Array,[]]})}initialize(){super.initialize(),this._js_callbacks=new Map}connect_signals(){super.connect_signals(),this._update_property_callbacks(),this.connect(this.properties.js_property_callbacks.change,()=>this._update_property_callbacks()),this.connect(this.properties.js_event_callbacks.change,()=>this._update_event_callbacks()),this.connect(this.properties.subscribed_events.change,()=>this._update_event_callbacks())}_process_event(e){for(const t of this.js_event_callbacks[e.event_name]||[])t.execute(e);null!=this.document&&this.subscribed_events.some(t=>t==e.event_name)&&this.document.event_manager.send_event(e)}trigger_event(e){null!=this.document&&(e.origin=this,this.document.event_manager.trigger(e))}_update_event_callbacks(){null!=this.document?this.document.event_manager.subscribed_models.add(this):o.logger.warn(\"WARNING: Document not defined for updating event callbacks\")}_update_property_callbacks(){const e=e=>{const[t,s=null]=e.split(\":\");return null!=s?this.properties[s][t]:this[t]};for(const[t,s]of this._js_callbacks){const n=e(t);for(const e of s)this.disconnect(n,e)}this._js_callbacks.clear();for(const[t,s]of r.entries(this.js_property_callbacks)){const n=s.map(e=>()=>e.execute(this));this._js_callbacks.set(t,n);const c=e(t);for(const e of n)this.connect(c,e)}}_doc_attached(){r.isEmpty(this.js_event_callbacks)&&0==this.subscribed_events.length||this._update_event_callbacks()}_doc_detached(){this.document.event_manager.subscribed_models.delete(this)}select(e){if(a.isString(e))return[...this.references()].filter(t=>t instanceof l&&t.name===e);if(e.prototype instanceof c.HasProps)return[...this.references()].filter(t=>t instanceof e);throw new Error(\"invalid selector\")}select_one(e){const t=this.select(e);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(\"found more than one object matching given selector\")}}}s.Model=l,l.__name__=\"Model\",l.init_Model()},\n", + " function _(e,s,_){Object.defineProperty(_,\"__esModule\",{value:!0});class t{constructor(e,s){this.x_scale=e,this.y_scale=s,this.x_range=this.x_scale.source_range,this.y_range=this.y_scale.source_range,this.ranges=[this.x_range,this.y_range],this.scales=[this.x_scale,this.y_scale]}map_to_screen(e,s){return[this.x_scale.v_compute(e),this.y_scale.v_compute(s)]}map_from_screen(e,s){return[this.x_scale.v_invert(e),this.y_scale.v_invert(s)]}}_.CoordinateTransform=t,t.__name__=\"CoordinateTransform\"},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),a=t(36),o=t(84),r=t(85),n=t(28),_=i.__importStar(t(18)),h=t(10);class c extends a.AnnotationView{initialize(){super.initialize(),null==this.model.source&&(this.model.source=new r.ColumnDataSource),this.set_data(this.model.source)}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.set_data(this.model.source)),this.connect(this.model.source.streaming,()=>this.set_data(this.model.source)),this.connect(this.model.source.patching,()=>this.set_data(this.model.source)),this.connect(this.model.source.change,()=>this.set_data(this.model.source))}set_data(t){super.set_data(t),this.visuals.warm_cache(t),this.plot_view.request_render()}_map_data(){const{frame:t}=this.plot_view;let e,s,i,a;return\"data\"==this.model.start_units?(e=this.coordinates.x_scale.v_compute(this._x_start),s=this.coordinates.y_scale.v_compute(this._y_start)):(e=t.xview.v_compute(this._x_start),s=t.yview.v_compute(this._y_start)),\"data\"==this.model.end_units?(i=this.coordinates.x_scale.v_compute(this._x_end),a=this.coordinates.y_scale.v_compute(this._y_end)):(i=t.xview.v_compute(this._x_end),a=t.yview.v_compute(this._y_end)),[[e,s],[i,a]]}_render(){const{ctx:t}=this.layer;t.save();const[e,s]=this._map_data();null!=this.model.end&&this._arrow_head(t,\"render\",this.model.end,e,s),null!=this.model.start&&this._arrow_head(t,\"render\",this.model.start,s,e),t.beginPath();const{x:i,y:a,width:o,height:r}=this.plot_view.frame.bbox;t.rect(i,a,o,r),null!=this.model.end&&this._arrow_head(t,\"clip\",this.model.end,e,s),null!=this.model.start&&this._arrow_head(t,\"clip\",this.model.start,s,e),t.closePath(),t.clip(),this._arrow_body(t,e,s),t.restore()}_arrow_head(t,e,s,i,a){for(let o=0,r=this._x_start.length;onew o.OpenHead({})],source:[_.Instance]})}}s.Arrow=d,d.__name__=\"Arrow\",d.init_Arrow()},\n", + " function _(i,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=i(1),o=i(36),l=i(74),n=i(28),h=t.__importStar(i(18));class a extends o.Annotation{constructor(i){super(i)}static init_ArrowHead(){this.define({size:[h.Number,25]})}initialize(){super.initialize(),this.visuals=new l.Visuals(this)}}s.ArrowHead=a,a.__name__=\"ArrowHead\",a.init_ArrowHead();class r extends a{constructor(i){super(i)}static init_OpenHead(){this.mixins(n.LineVector)}clip(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(0,0),i.lineTo(.5*this.size,this.size)}render(i,e){this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.stroke())}}s.OpenHead=r,r.__name__=\"OpenHead\",r.init_OpenHead();class z extends a{constructor(i){super(i)}static init_NormalHead(){this.mixins([n.LineVector,n.FillVector]),this.override({fill_color:\"black\"})}clip(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(.5*this.size,this.size)}render(i,e){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(i,e),this._normal(i,e),i.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),this._normal(i,e),i.stroke())}_normal(i,e){i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.closePath()}}s.NormalHead=z,z.__name__=\"NormalHead\",z.init_NormalHead();class _ extends a{constructor(i){super(i)}static init_VeeHead(){this.mixins([n.LineVector,n.FillVector]),this.override({fill_color:\"black\"})}clip(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(0,.5*this.size),i.lineTo(.5*this.size,this.size)}render(i,e){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(i,e),this._vee(i,e),i.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),this._vee(i,e),i.stroke())}_vee(i,e){i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.lineTo(0,.5*this.size),i.closePath()}}s.VeeHead=_,_.__name__=\"VeeHead\",_.init_VeeHead();class c extends a{constructor(i){super(i)}static init_TeeHead(){this.mixins(n.LineVector)}render(i,e){this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),i.beginPath(),i.moveTo(.5*this.size,0),i.lineTo(-.5*this.size,0),i.stroke())}clip(i,e){}}s.TeeHead=c,c.__name__=\"TeeHead\",c.init_TeeHead()},\n", + " function _(t,n,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=t(1),o=t(86),r=s.__importStar(t(18)),i=t(8),l=t(13),a=s.__importStar(t(119)),c=t(120),u=t(121);function h(t,n,e){if(i.isArray(t)){const s=t.concat(n);return null!=e&&s.length>e?s.slice(-e):s}if(i.isTypedArray(t)){const s=t.length+n.length;if(null!=e&&s>e){const o=s-e,r=t.length;let i;t.lengthnew _.UnionRenderers]}),this.internal({selection_manager:[c.Instance,t=>new l.SelectionManager({source:t})],inspected:[c.Instance,()=>new g.Selection]})}initialize(){super.initialize(),this._select=new i.Signal0(this,\"select\"),this.inspect=new i.Signal(this,\"inspect\"),this.streaming=new i.Signal0(this,\"streaming\"),this.patching=new i.Signal(this,\"patching\")}get_column(t){const e=this.data[t];return null!=e?e:null}columns(){return h.keys(this.data)}get_length(t=!0){const e=u.uniq(h.values(this.data).map(t=>t.length));switch(e.length){case 0:return null;case 1:return e[0];default:{const n=\"data source has columns of inconsistent lengths\";if(t)return r.logger.warn(n),e.sort()[0];throw new Error(n)}}}get length(){var t;return null!==(t=this.get_length())&&void 0!==t?t:0}clear(){const t={};for(const e of this.columns())t[e]=new this.data[e].constructor(0);this.data=t}}n.ColumnarDataSource=d,d.__name__=\"ColumnarDataSource\",d.init_ColumnarDataSource()},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const c=e(1),n=e(81),o=e(88),i=c.__importStar(e(18));class r extends n.Model{constructor(e){super(e)}static init_DataSource(){this.define({selected:[i.Instance,()=>new o.Selection]})}}a.DataSource=r,r.__name__=\"DataSource\",r.init_DataSource()},\n", + " function _(i,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=i(1),n=i(81),l=t.__importStar(i(18)),c=i(9),h=i(13);class d extends n.Model{constructor(i){super(i)}get_view(){return this.view}static init_Selection(){this.define({indices:[l.Array,[]],line_indices:[l.Array,[]],multiline_indices:[l.Any,{}]}),this.internal({selected_glyphs:[l.Array,[]],view:[l.Any],image_indices:[l.Array,[]]})}initialize(){super.initialize()}get selected_glyph(){return this.selected_glyphs.length>0?this.selected_glyphs[0]:null}add_to_selected_glyphs(i){this.selected_glyphs.push(i)}update(i,e=!0,s=\"replace\"){switch(s){case\"replace\":this.indices=i.indices,this.line_indices=i.line_indices,this.selected_glyphs=i.selected_glyphs,this.view=i.view,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices;break;case\"append\":this.update_through_union(i);break;case\"intersect\":this.update_through_intersection(i);break;case\"subtract\":this.update_through_subtraction(i)}}clear(){this.indices=[],this.line_indices=[],this.multiline_indices={},this.view=null,this.selected_glyphs=[]}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=c.union(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=c.intersection(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=c.difference(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}}s.Selection=d,d.__name__=\"Selection\",d.init_Selection()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),n=e(14),o=e(88),c=e(90),r=e(116),l=i.__importStar(e(18));class p extends n.HasProps{constructor(e){super(e),this.inspectors=new Map}static init_SelectionManager(){this.internal({source:[l.Any]})}select(e,t,s,i=\"replace\"){const n=[],o=[];for(const t of e)t instanceof c.GlyphRendererView?n.push(t):t instanceof r.GraphRendererView&&o.push(t);let l=!1;for(const e of o){const n=e.model.selection_policy.hit_test(t,e);l=l||e.model.selection_policy.do_selection(n,e.model,s,i)}if(n.length>0){const e=this.source.selection_policy.hit_test(t,n);l=l||this.source.selection_policy.do_selection(e,this.source,s,i)}return l}inspect(e,t){let s=!1;if(e instanceof c.GlyphRendererView){const i=e.hit_test(t);if(null!=i){s=!i.is_empty();const n=this.get_or_create_inspector(e.model);n.update(i,!0,\"replace\"),this.source.setv({inspected:n},{silent:!0}),this.source.inspect.emit([e,{geometry:t}])}}else if(e instanceof r.GraphRendererView){const i=e.model.inspection_policy.hit_test(t,e);s=s||e.model.inspection_policy.do_inspection(i,t,e,!1,\"replace\")}return s}clear(e){this.source.selected.clear(),null!=e&&this.get_or_create_inspector(e.model).clear()}get_or_create_inspector(e){let t=this.inspectors.get(e);return null==t&&(t=new o.Selection,this.inspectors.set(e,t)),t}}s.SelectionManager=p,p.__name__=\"SelectionManager\",p.init_SelectionManager()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),l=e(91),n=e(92),h=e(110),o=e(111),a=e(113),c=e(114),_=e(24),d=s.__importStar(e(18)),r=e(12),p=e(9),g=e(13),u=e(115),y=e(98),m={fill:{},line:{}},v={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},f={fill:{fill_alpha:.2},line:{}};class w extends l.DataRendererView{async lazy_initialize(){await super.lazy_initialize();const e=this.model.glyph,t=p.includes(e._mixins,\"fill\"),i=p.includes(e._mixins,\"line\"),s=g.clone(e.attributes);function l(l){const n=g.clone(s);return t&&g.extend(n,l.fill),i&&g.extend(n,l.line),new e.constructor(n)}delete s.id,this.glyph=await this.build_glyph_view(e);let{selection_glyph:n}=this.model;null==n?n=l({fill:{},line:{}}):\"auto\"===n&&(n=l(m)),this.selection_glyph=await this.build_glyph_view(n);let{nonselection_glyph:h}=this.model;null==h?h=l({fill:{},line:{}}):\"auto\"===h&&(h=l(f)),this.nonselection_glyph=await this.build_glyph_view(h);const{hover_glyph:o}=this.model;null!=o&&(this.hover_glyph=await this.build_glyph_view(o));const{muted_glyph:a}=this.model;null!=a&&(this.muted_glyph=await this.build_glyph_view(a));const c=l(v);this.decimated_glyph=await this.build_glyph_view(c),this.set_data(!1)}async build_glyph_view(e){return u.build_view(e,{parent:this})}remove(){var e,t;this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),null===(t=this.muted_glyph)||void 0===t||t.remove(),this.decimated_glyph.remove(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.request_render()),this.connect(this.model.glyph.change,()=>this.set_data()),this.connect(this.model.data_source.change,()=>this.set_data()),this.connect(this.model.data_source.streaming,()=>this.set_data()),this.connect(this.model.data_source.patching,e=>this.set_data(!0,e)),this.connect(this.model.data_source.selected.change,()=>this.request_render()),this.connect(this.model.data_source._select,()=>this.request_render()),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,()=>this.request_render()),this.connect(this.model.properties.view.change,()=>this.set_data()),this.connect(this.model.view.properties.indices.change,()=>this.set_data()),this.connect(this.model.view.properties.masked.change,()=>this.set_visuals()),this.connect(this.model.properties.visible.change,()=>this.plot_view.update_dataranges());const{x_ranges:e,y_ranges:t}=this.plot_view.frame;for(const[,t]of e)t instanceof y.FactorRange&&this.connect(t.change,()=>this.set_data());for(const[,e]of t)e instanceof y.FactorRange&&this.connect(e.change,()=>this.set_data());this.connect(this.model.glyph.transformchange,()=>this.set_data())}_update_masked_indices(){const e=this.glyph.mask_data();return this.model.view.masked=e,e}set_data(e=!0,t=null){const i=this.model.data_source;this.all_indices=this.model.view.indices;const{all_indices:s}=this;this.glyph.set_data(i,s,t),this.set_visuals(),this._update_masked_indices();const{lod_factor:l}=this.plot_model,n=this.all_indices.count;this.decimated=new _.Indices(n);for(let e=0;e!_||_.is_empty()?[]:_.selected_glyph?this.model.view.convert_indices_from_subset(i):_.indices.length>0?_.indices:Object.keys(_.multiline_indices).map(e=>parseInt(e)))()),g=r.filter(i,e=>d.has(t[e])),{lod_threshold:u}=this.plot_model;let y,m,v;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=u&&t.length>u?(i=[...this.decimated],y=this.decimated_glyph,m=this.decimated_glyph,v=this.selection_glyph):(y=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,m=this.nonselection_glyph,v=this.selection_glyph),null!=this.hover_glyph&&g.length&&(i=p.difference(i,g)),c.length){const e={};for(const t of c)e[t]=!0;const l=new Array,h=new Array;if(this.glyph instanceof n.LineView)for(const i of t)null!=e[i]?l.push(i):h.push(i);else for(const s of i)null!=e[t[s]]?l.push(s):h.push(s);m.render(s,h,this.glyph),v.render(s,l,this.glyph),null!=this.hover_glyph&&(this.glyph instanceof n.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(g),this.glyph):this.hover_glyph.render(s,g,this.glyph))}else if(this.glyph instanceof n.LineView)this.hover_glyph&&g.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(g),this.glyph):y.render(s,t,this.glyph);else if(this.glyph instanceof h.PatchView||this.glyph instanceof o.HAreaView||this.glyph instanceof a.VAreaView)if(0==_.selected_glyphs.length||null==this.hover_glyph)y.render(s,t,this.glyph);else for(const e of _.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t,this.glyph);else y.render(s,i,this.glyph),this.hover_glyph&&g.length&&this.hover_glyph.render(s,g,this.glyph);s.restore()}draw_legend(e,t,i,s,l,n,h,o){null==o&&(o=this.model.get_reference_point(n,h)),this.glyph.draw_legend_for_index(e,{x0:t,x1:i,y0:s,y1:l},o)}hit_test(e){if(!this.model.visible)return null;const t=this.glyph.hit_test(e);return null==t?null:this.model.view.convert_selection_from_subset(t)}}i.GlyphRendererView=w,w.__name__=\"GlyphRendererView\";class b extends l.DataRenderer{constructor(e){super(e)}static init_GlyphRenderer(){this.prototype.default_view=w,this.define({data_source:[d.Instance],view:[d.Instance,()=>new c.CDSView],glyph:[d.Instance],hover_glyph:[d.Instance],nonselection_glyph:[d.Any,\"auto\"],selection_glyph:[d.Any,\"auto\"],muted_glyph:[d.Instance],muted:[d.Boolean,!1]})}initialize(){super.initialize(),null==this.view.source&&(this.view.source=this.data_source,this.view.compute_indices())}get_reference_point(e,t){let i=0;if(null!=e){const s=this.data_source.get_column(e);if(null!=s){const e=r.indexOf(s,t);-1!=e&&(i=e)}}return i}get_selection_manager(){return this.data_source.selection_manager}}i.GlyphRenderer=b,b.__name__=\"GlyphRenderer\",b.init_GlyphRenderer()},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const a=e(70);class n extends a.RendererView{get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}}t.DataRendererView=n,n.__name__=\"DataRendererView\";class s extends a.Renderer{constructor(e){super(e)}static init_DataRenderer(){this.override({level:\"glyph\"})}}t.DataRenderer=s,s.__name__=\"DataRenderer\",s.init_DataRenderer()},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1),n=e(93),l=e(100),_=e(102),r=s.__importStar(e(28)),o=s.__importStar(e(101)),h=e(88);class a extends n.XYGlyphView{initialize(){super.initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;null!=e&&(this.glglyph=new _.LineGL(e.gl,this))}_render(e,i,{sx:t,sy:s}){let n=!1,l=null;this.visuals.line.set_value(e);for(const _ of i){if(n){if(!isFinite(t[_]+s[_])){e.stroke(),e.beginPath(),n=!1,l=_;continue}null!=l&&_-l>1&&(e.stroke(),n=!1)}n?e.lineTo(t[_],s[_]):(e.beginPath(),e.moveTo(t[_],s[_]),n=!0),l=_}n&&e.stroke()}_hit_point(e){const i=new h.Selection,t={x:e.sx,y:e.sy};let s=9999;const n=Math.max(2,this.visuals.line.line_width.value()/2);for(let e=0,l=this.sx.length-1;et/2);a=new Float64Array(_);for(let i=0;i<_;i++)a[i]=e[i]-t[i];r=new Float64Array(_);for(let i=0;i<_;i++)r[i]=e[i]+t[i]}else{a=e,r=new Float64Array(_);for(let t=0;t<_;t++)r[t]=a[t]+i[t]}const l=t.v_compute(a),o=t.v_compute(r);return n?d.map(l,(t,e)=>Math.ceil(Math.abs(o[e]-l[e]))):d.map(l,(t,e)=>Math.abs(o[e]-l[e]))}draw_legend_for_index(t,e,i){}hit_test(t){switch(t.type){case\"point\":if(null!=this._hit_point)return this._hit_point(t);break;case\"span\":if(null!=this._hit_span)return this._hit_span(t);break;case\"rect\":if(null!=this._hit_rect)return this._hit_rect(t);break;case\"poly\":if(null!=this._hit_poly)return this._hit_poly(t)}return this._nohit_warned.has(t.type)||(o.logger.debug(`'${t.type}' selection not available for ${this.model.type}`),this._nohit_warned.add(t.type)),null}_hit_rect_against_index(t){const{sx0:e,sx1:i,sy0:s,sy1:n}=t,[a,r]=this.renderer.coordinates.x_scale.r_invert(e,i),[_,l]=this.renderer.coordinates.y_scale.r_invert(s,n),o=[...this.index.indices({x0:a,x1:r,y0:_,y1:l})];return new p.Selection({indices:o})}_project_data(){}set_data(t,e,i){var s,a;const{x_range:r,y_range:_}=this.renderer.coordinates;this._data_size=null!==(s=t.get_length())&&void 0!==s?s:1;for(const i of this.model){if(!(i instanceof n.VectorSpec))continue;if(i.optional&&null==i.spec.value&&!i.dirty)continue;const s=i.attr,a=i.array(t);let l=e.select(a);if(i instanceof n.BaseCoordinateSpec){const t=\"x\"==i.dimension?r:_;if(t instanceof u.FactorRange)if(i instanceof n.CoordinateSpec)l=t.v_synthetic(l);else if(i instanceof n.CoordinateSeqSpec)for(let e=0;e>1;n[s]>e?i=s:t=s+1}return n[t]}class x extends i.default{search_indices(e,n,t,i){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let o=this._boxes.length-4;const x=[],h=new s.Indices(this.numItems);for(;void 0!==o;){const s=Math.min(o+4*this.nodeSize,d(o,this._levelBounds));for(let d=o;d>2];tthis._boxes[d+2]||n>this._boxes[d+3]||(o<4*this.numItems?h.set(s):x.push(s)))}o=x.pop()}return h}}x.__name__=\"_FlatBush\";class h{constructor(e){this.index=null,e>0&&(this.index=new x(e))}add(e,n,t,i){var s;null===(s=this.index)||void 0===s||s.add(e,n,t,i)}add_empty(){var e;null===(e=this.index)||void 0===e||e.add(1/0,1/0,-1/0,-1/0)}finish(){var e;null===(e=this.index)||void 0===e||e.finish()}_normalize(e){let{x0:n,y0:t,x1:i,y1:s}=e;return n>i&&([n,i]=[i,n]),t>s&&([t,s]=[s,t]),{x0:n,y0:t,x1:i,y1:s}}get bbox(){if(null==this.index)return o.empty();{const{minX:e,minY:n,maxX:t,maxY:i}=this.index;return{x0:e,y0:n,x1:t,y1:i}}}indices(e){if(null==this.index)return new s.Indices(0);{const{x0:n,y0:t,x1:i,y1:s}=this._normalize(e);return this.index.search_indices(n,t,i,s)}}bounds(e){const n=o.empty();for(const t of this.indices(e)){const e=this.index._boxes,i=e[4*t+0],s=e[4*t+1],o=e[4*t+2],d=e[4*t+3];on.x1&&(n.x1=i),dn.y1&&(n.y1=s)}return n}}t.SpatialIndex=h,h.__name__=\"SpatialIndex\"},\n", + " function _(t,s,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(1).__importDefault(t(97)),h=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class n{static from(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[s,i]=new Uint8Array(t,0,2);if(251!==s)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(i>>4!=3)throw new Error(`Got v${i>>4} data when expected v3.`);const[e]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new n(o,e,h[15&i],t)}constructor(t,s=16,i=Float64Array,n){if(void 0===t)throw new Error(\"Missing required argument: numItems.\");if(isNaN(t)||t<=0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+s,2),65535);let o=t,r=o;this._levelBounds=[4*o];do{o=Math.ceil(o/this.nodeSize),r+=o,this._levelBounds.push(4*r)}while(1!==o);this.ArrayType=i||Float64Array,this.IndexArrayType=r<16384?Uint16Array:Uint32Array;const a=h.indexOf(this.ArrayType),_=4*r*this.ArrayType.BYTES_PER_ELEMENT;if(a<0)throw new Error(`Unexpected typed array class: ${i}.`);n&&n instanceof ArrayBuffer?(this.data=n,this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=4*r,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1]):(this.data=new ArrayBuffer(8+_+r*this.IndexArrayType.BYTES_PER_ELEMENT),this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(this.data,0,2).set([251,48+a]),new Uint16Array(this.data,2,1)[0]=s,new Uint32Array(this.data,4,1)[0]=t),this._queue=new e.default}add(t,s,i,e){const h=this._pos>>2;return this._indices[h]=h,this._boxes[this._pos++]=t,this._boxes[this._pos++]=s,this._boxes[this._pos++]=i,this._boxes[this._pos++]=e,tthis.maxX&&(this.maxX=i),e>this.maxY&&(this.maxY=e),h}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);if(this.numItems<=this.nodeSize)return this._boxes[this._pos++]=this.minX,this._boxes[this._pos++]=this.minY,this._boxes[this._pos++]=this.maxX,void(this._boxes[this._pos++]=this.maxY);const t=this.maxX-this.minX,s=this.maxY-this.minY,i=new Uint32Array(this.numItems);for(let e=0;e=Math.floor(n/o))return;const r=s[h+n>>1];let _=h-1,d=n+1;for(;;){do{_++}while(s[_]r);if(_>=d)break;a(s,i,e,_,d)}t(s,i,e,h,d,o),t(s,i,e,d+1,n,o)}(i,this._boxes,this._indices,0,this.numItems-1,this.nodeSize);for(let t=0,s=0;t>2]=t,this._boxes[this._pos++]=e,this._boxes[this._pos++]=h,this._boxes[this._pos++]=n,this._boxes[this._pos++]=o}}}search(t,s,i,e,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=[],a=[];for(;void 0!==n;){const _=Math.min(n+4*this.nodeSize,r(n,this._levelBounds));for(let r=n;r<_;r+=4){const _=0|this._indices[r>>2];ithis._boxes[r+2]||s>this._boxes[r+3]||(n<4*this.numItems?(void 0===h||h(_))&&a.push(_):o.push(_)))}n=o.pop()}return a}neighbors(t,s,i=1/0,e=1/0,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const a=this._queue,_=[],d=e*e;for(;void 0!==n;){const e=Math.min(n+4*this.nodeSize,r(n,this._levelBounds));for(let i=n;i>2],r=o(t,this._boxes[i],this._boxes[i+2]),_=o(s,this._boxes[i+1],this._boxes[i+3]),d=r*r+_*_;n<4*this.numItems?(void 0===h||h(e))&&a.push(-e-1,d):a.push(e,d)}for(;a.length&&a.peek()<0;){if(a.peekValue()>d)return a.clear(),_;if(_.push(-a.pop()-1),_.length===i)return a.clear(),_}n=a.pop()}return a.clear(),_}}function o(t,s,i){return t>1;s[h]>t?e=h:i=h+1}return s[i]}function a(t,s,i,e,h){const n=t[e];t[e]=t[h],t[h]=n;const o=4*e,r=4*h,a=s[o],_=s[o+1],d=s[o+2],x=s[o+3];s[o]=s[r],s[o+1]=s[r+1],s[o+2]=s[r+2],s[o+3]=s[r+3],s[r]=a,s[r+1]=_,s[r+2]=d,s[r+3]=x;const l=i[e];i[e]=i[h],i[h]=l}function _(t,s){let i=t^s,e=65535^i,h=65535^(t|s),n=t&(65535^s),o=i|e>>1,r=i>>1^i,a=h>>1^e&n>>1^h,_=i&h>>1^n>>1^n;i=o,e=r,h=a,n=_,o=i&i>>2^e&e>>2,r=i&e>>2^e&(i^e)>>2,a^=i&h>>2^e&n>>2,_^=e&h>>2^(i^e)&n>>2,i=o,e=r,h=a,n=_,o=i&i>>4^e&e>>4,r=i&e>>4^e&(i^e)>>4,a^=i&h>>4^e&n>>4,_^=e&h>>4^(i^e)&n>>4,i=o,e=r,h=a,n=_,a^=i&h>>8^e&n>>8,_^=e&h>>8^(i^e)&n>>8,i=a^a>>1,e=_^_>>1;let d=t^s,x=e|65535^(d|i);return d=16711935&(d|d<<8),d=252645135&(d|d<<4),d=858993459&(d|d<<2),d=1431655765&(d|d<<1),x=16711935&(x|x<<8),x=252645135&(x|x<<4),x=858993459&(x|x<<2),x=1431655765&(x|x<<1),(x<<1|d)>>>0}i.default=n},\n", + " function _(s,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});i.default=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(s,t){let i=this.length++;for(this.ids[i]=s,this.values[i]=t;i>0;){const s=i-1>>1,h=this.values[s];if(t>=h)break;this.ids[i]=this.ids[s],this.values[i]=h,i=s}this.ids[i]=s,this.values[i]=t}pop(){if(0===this.length)return;const s=this.ids[0];if(this.length--,this.length>0){const s=this.ids[0]=this.ids[this.length],t=this.values[0]=this.values[this.length],i=this.length>>1;let h=0;for(;h=t)break;this.ids[h]=e,this.values[h]=l,h=s}this.ids[h]=s,this.values[h]=t}return s}peek(){if(0!==this.length)return this.ids[0]}peekValue(){if(0!==this.length)return this.values[0]}}},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=t(1),i=t(99),r=s.__importStar(t(18)),a=t(24),o=t(9),p=t(8),g=t(11);function c(t,e,n=0){const s=new Map;for(let i=0;ia.get(t).value));r.set(t,{value:u/i,mapping:a}),p+=i+e+l}return[r,(a.size-1)*e+g]}function u(t,e,n,s,i=0){var r;const a=new Map,p=new Map;for(const[e,n,s]of t){const t=null!==(r=p.get(e))&&void 0!==r?r:[];p.set(e,[...t,[n,s]])}let g=i,c=0;for(const[t,i]of p){const r=i.length,[p,u]=l(i,n,s,g);c+=u;const h=o.sum(i.map(([t])=>p.get(t).value));a.set(t,{value:h/r,mapping:p}),g+=r+e+u}return[a,(p.size-1)*e+c]}n.map_one_level=c,n.map_two_levels=l,n.map_three_levels=u;class h extends i.Range{constructor(t){super(t)}static init_FactorRange(){this.define({factors:[r.Array,[]],factor_padding:[r.Number,0],subgroup_padding:[r.Number,.8],group_padding:[r.Number,1.4],range_padding:[r.Number,0],range_padding_units:[r.PaddingUnits,\"percent\"],start:[r.Number],end:[r.Number]}),this.internal({levels:[r.Number],mids:[r.Array,null],tops:[r.Array,null]})}get min(){return this.start}get max(){return this.end}initialize(){super.initialize(),this._init(!0)}connect_signals(){super.connect_signals(),this.connect(this.properties.factors.change,()=>this.reset()),this.connect(this.properties.factor_padding.change,()=>this.reset()),this.connect(this.properties.group_padding.change,()=>this.reset()),this.connect(this.properties.subgroup_padding.change,()=>this.reset()),this.connect(this.properties.range_padding.change,()=>this.reset()),this.connect(this.properties.range_padding_units.change,()=>this.reset())}reset(){this._init(!1),this.change.emit()}_lookup(t){switch(t.length){case 1:{const[e]=t,n=this._mapping.get(e);return null!=n?n.value:NaN}case 2:{const[e,n]=t,s=this._mapping.get(e);if(null!=s){const t=s.mapping.get(n);if(null!=t)return t.value}return NaN}case 3:{const[e,n,s]=t,i=this._mapping.get(e);if(null!=i){const t=i.mapping.get(n);if(null!=t){const e=t.mapping.get(s);if(null!=e)return e.value}}return NaN}default:g.unreachable()}}synthetic(t){if(p.isNumber(t))return t;if(p.isString(t))return this._lookup([t]);let e=0;const n=t[t.length-1];return p.isNumber(n)&&(e=n,t=t.slice(0,-1)),this._lookup(t)+e}v_synthetic(t){const e=t.length,n=new a.NumberArray(e);for(let s=0;s{if(o.every(this.factors,p.isString)){const t=this.factors,[e,n]=c(t,this.factor_padding);return{levels:1,mapping:e,tops:null,mids:null,inside_padding:n}}if(o.every(this.factors,t=>p.isArray(t)&&2==t.length&&p.isString(t[0])&&p.isString(t[1]))){const t=this.factors,[e,n]=l(t,this.group_padding,this.factor_padding),s=[...e.keys()];return{levels:2,mapping:e,tops:s,mids:null,inside_padding:n}}if(o.every(this.factors,t=>p.isArray(t)&&3==t.length&&p.isString(t[0])&&p.isString(t[1])&&p.isString(t[2]))){const t=this.factors,[e,n]=u(t,this.group_padding,this.subgroup_padding,this.factor_padding),s=[...e.keys()],i=[];for(const[t,n]of e)for(const e of n.mapping.keys())i.push([t,e]);return{levels:3,mapping:e,tops:s,mids:i,inside_padding:n}}g.unreachable()})();this._mapping=n,this.tops=s,this.mids=i;let a=0,h=this.factors.length+r;if(\"percent\"==this.range_padding_units){const t=(h-a)*this.range_padding/2;a-=t,h+=t}else a-=this.range_padding,h+=this.range_padding;this.setv({start:a,end:h,levels:e},{silent:t}),\"auto\"==this.bounds&&this.setv({bounds:[a,h]},{silent:!0})}}n.FactorRange=h,h.__name__=\"FactorRange\",h.init_FactorRange()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(81),a=n.__importStar(e(18));class r extends s.Model{constructor(e){super(e),this.have_updated_interactively=!1}static init_Range(){this.define({bounds:[a.Any],min_interval:[a.Any],max_interval:[a.Any]}),this.internal({plots:[a.Array,[]]})}get is_reversed(){return this.start>this.end}get is_valid(){return!isNaN(this.min)&&!isNaN(this.max)}}i.Range=r,r.__name__=\"Range\",r.init_Range()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1).__importStar(e(101));i.generic_line_legend=function(e,t,{x0:i,x1:n,y0:c,y1:o},r){t.save(),t.beginPath(),t.moveTo(i,(c+o)/2),t.lineTo(n,(c+o)/2),e.line.doit&&(e.line.set_vectorize(t,r),t.stroke()),t.restore()},i.generic_area_legend=function(e,t,{x0:i,x1:n,y0:c,y1:o},r){const l=.1*Math.abs(n-i),a=.1*Math.abs(o-c),s=i+l,_=n-l,h=c+a,v=o-a;e.fill.doit&&(e.fill.set_vectorize(t,r),t.fillRect(s,h,_-s,v-h)),null!=e.hatch&&e.hatch.doit&&(e.hatch.set_vectorize(t,r),t.fillRect(s,h,_-s,v-h)),e.line&&e.line.doit&&(t.beginPath(),t.rect(s,h,_-s,v-h),e.line.set_vectorize(t,r),t.stroke())},i.line_interpolation=function(e,t,i,c,o,r){const{sx:l,sy:a}=t;let s,_,h,v;\"point\"==t.type?([h,v]=e.yscale.r_invert(a-1,a+1),[s,_]=e.xscale.r_invert(l-1,l+1)):\"v\"==t.direction?([h,v]=e.yscale.r_invert(a,a),[s,_]=[Math.min(i-1,o-1),Math.max(i+1,o+1)]):([s,_]=e.xscale.r_invert(l,l),[h,v]=[Math.min(c-1,r-1),Math.max(c+1,r+1)]);const{x,y}=n.check_2_segments_intersect(s,h,_,v,i,c,o,r);return[x,y]}},\n", + " function _(t,n,e){function i(t,n){return(t.x-n.x)**2+(t.y-n.y)**2}function r(t,n,e){const r=i(n,e);if(0==r)return i(t,n);const s=((t.x-n.x)*(e.x-n.x)+(t.y-n.y)*(e.y-n.y))/r;if(s<0)return i(t,n);if(s>1)return i(t,e);return i(t,{x:n.x+s*(e.x-n.x),y:n.y+s*(e.y-n.y)})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.point_in_poly=function(t,n,e,i){let r=!1,s=e[e.length-1],o=i[i.length-1];for(let u=0;u0&&_<1&&l>0&&l<1,x:t+_*(e-t),y:n+_*(i-n)}}}},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(103),a=t(107),n=t(108),o=t(109),_=t(22);class h{constructor(t){this._atlas=new Map,this._width=256,this._height=256,this.tex=new i.Texture2d(t),this.tex.set_wrapping(t.REPEAT,t.REPEAT),this.tex.set_interpolation(t.NEAREST,t.NEAREST),this.tex.set_size([this._width,this._height],t.RGBA),this.tex.set_data([0,0],[this._width,this._height],new Uint8Array(4*this._width*this._height)),this.get_atlas_data([1])}get_atlas_data(t){const e=t.join(\"-\");let s=this._atlas.get(e);if(null==s){const[i,a]=this.make_pattern(t),n=this._atlas.size;this.tex.set_data([0,n],[this._width,1],new Uint8Array(i.map(t=>t+10))),s=[n/this._height,a],this._atlas.set(e,s)}return s}make_pattern(t){t.length>1&&t.length%2&&(t=t.concat(t));let e=0;for(const s of t)e+=s;const s=[];let i=0;for(let e=0,a=t.length+2;es[r]?-1:0,o=s[r-1],i=s[r]),n[4*t+0]=s[r],n[4*t+1]=_,n[4*t+2]=o,n[4*t+3]=i}return[n,e]}}h.__name__=\"DashAtlas\";const r={miter:0,round:1,bevel:2},l={\"\":0,none:0,\".\":0,round:1,\")\":1,\"(\":1,o:1,\"triangle in\":2,\"<\":2,\"triangle out\":3,\">\":3,square:4,\"[\":4,\"]\":4,\"=\":4,butt:5,\"|\":5};class g extends a.BaseGLGlyph{init(){const{gl:t}=this;this._scale_aspect=0;const e=n.vertex_shader,s=o.fragment_shader;this.prog=new i.Program(t),this.prog.set_shaders(e,s),this.index_buffer=new i.IndexBuffer(t),this.vbo_position=new i.VertexBuffer(t),this.vbo_tangents=new i.VertexBuffer(t),this.vbo_segment=new i.VertexBuffer(t),this.vbo_angles=new i.VertexBuffer(t),this.vbo_texcoord=new i.VertexBuffer(t),this.dash_atlas=new h(t)}draw(t,e,s){const i=e.glglyph;if(i.data_changed&&(i._set_data(),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),i._update_scale(1,1),this._scale_aspect=1,this.prog.set_attribute(\"a_position\",\"vec2\",i.vbo_position),this.prog.set_attribute(\"a_tangents\",\"vec4\",i.vbo_tangents),this.prog.set_attribute(\"a_segment\",\"vec2\",i.vbo_segment),this.prog.set_attribute(\"a_angles\",\"vec2\",i.vbo_angles),this.prog.set_attribute(\"a_texcoord\",\"vec2\",i.vbo_texcoord),this.prog.set_uniform(\"u_length\",\"float\",[i.cumsum]),this.prog.set_texture(\"u_dash_atlas\",this.dash_atlas.tex),this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[s.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[s.width,s.height]),this.prog.set_uniform(\"u_scale_aspect\",\"vec2\",[1,1]),this.prog.set_uniform(\"u_scale_length\",\"float\",[Math.sqrt(2)]),this.I_triangles=i.I_triangles,this.I_triangles.length<65535)this.index_buffer.set_size(2*this.I_triangles.length),this.index_buffer.set_data(0,new Uint16Array(this.I_triangles)),this.prog.draw(this.gl.TRIANGLES,this.index_buffer);else{t=Array.from(this.I_triangles);const e=this.I_triangles.length,s=64008,a=[];for(let t=0,i=Math.ceil(e/s);t1)for(let e=0;e0||console.log(`Variable ${t} is not an active attribute`));else if(this._unset_variables.has(t)&&this._unset_variables.delete(t),this.activate(),i instanceof s.VertexBuffer){const[s,n]=this.ATYPEINFO[e],h=\"vertexAttribPointer\",l=[s,n,!1,a,r];this._attributes.set(t,[i.handle,o,h,l])}else{const s=this.ATYPEMAP[e];this._attributes.set(t,[null,o,s,i])}}_pre_draw(){this.activate();for(const[t,e,i]of this._samplers.values())this.gl.activeTexture(this.gl.TEXTURE0+i),this.gl.bindTexture(t,e);for(const[t,e,i,s]of this._attributes.values())null!=t?(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),this.gl.enableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,...s])):(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.disableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,...s]));this._validated||(this._validated=!0,this._validate())}_validate(){if(this._unset_variables.size&&console.log(\"Program has unset variables: \"+this._unset_variables),this.gl.validateProgram(this.handle),!this.gl.getProgramParameter(this.handle,this.gl.VALIDATE_STATUS))throw console.log(this.gl.getProgramInfoLog(this.handle)),new Error(\"Program validation error\")}draw(t,e){if(!this._linked)throw new Error(\"Cannot draw program if code has not been set\");if(e instanceof s.IndexBuffer){this._pre_draw(),e.activate();const i=e.buffer_size/2,s=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,i,s,0),e.deactivate()}else{const[i,s]=e;0!=s&&(this._pre_draw(),this.gl.drawArrays(t,i,s))}}}i.Program=a,a.__name__=\"Program\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});class i{constructor(e){this.gl=e,this._usage=35048,this.buffer_size=0,this.handle=this.gl.createBuffer()}delete(){this.gl.deleteBuffer(this.handle)}activate(){this.gl.bindBuffer(this._target,this.handle)}deactivate(){this.gl.bindBuffer(this._target,null)}set_size(e){e!=this.buffer_size&&(this.activate(),this.gl.bufferData(this._target,e,this._usage),this.buffer_size=e)}set_data(e,t){this.activate(),this.gl.bufferSubData(this._target,e,t)}}s.Buffer=i,i.__name__=\"Buffer\";class r extends i{constructor(){super(...arguments),this._target=34962}}s.VertexBuffer=r,r.__name__=\"VertexBuffer\";class a extends i{constructor(){super(...arguments),this._target=34963}}s.IndexBuffer=a,a.__name__=\"IndexBuffer\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const a=t(11);class r{constructor(t){this.gl=t,this._target=3553,this._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},this.handle=this.gl.createTexture()}delete(){this.gl.deleteTexture(this.handle)}activate(){this.gl.bindTexture(this._target,this.handle)}deactivate(){this.gl.bindTexture(this._target,0)}_get_alignment(t){const e=[4,8,2,1];for(const i of e)if(t%i==0)return i;a.unreachable()}set_wrapping(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_S,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_T,e)}set_interpolation(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_MIN_FILTER,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_MAG_FILTER,e)}set_size([t,e],i){var a,r,s;t==(null===(a=this._shape_format)||void 0===a?void 0:a.width)&&e==(null===(r=this._shape_format)||void 0===r?void 0:r.height)&&i==(null===(s=this._shape_format)||void 0===s?void 0:s.format)||(this._shape_format={width:t,height:e,format:i},this.activate(),this.gl.texImage2D(this._target,0,i,t,e,0,i,this.gl.UNSIGNED_BYTE,null))}set_data(t,[e,i],a){this.activate();const{format:r}=this._shape_format,[s,h]=t,l=this._types[a.constructor.name];if(null==l)throw new Error(`Type ${a.constructor.name} not allowed for texture`);const _=this._get_alignment(e);4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,_),this.gl.texSubImage2D(this._target,0,s,h,e,i,r,l,a),4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,4)}}i.Texture2d=r,r.__name__=\"Texture2d\"},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});class s{constructor(e,t){this.gl=e,this.glyph=t,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.init()}set_data_changed(){const{data_size:e}=this.glyph;e!=this.nvertices&&(this.nvertices=e,this.size_changed=!0),this.data_changed=!0}set_visuals_changed(){this.visuals_changed=!0}render(e,t,i){if(0==t.length)return!0;const{width:s,height:h}=this.glyph.renderer.plot_view.canvas_view.webgl.canvas,a={pixel_ratio:this.glyph.renderer.plot_view.canvas_view.pixel_ratio,width:s,height:h};return this.draw(t,i,a),!0}}i.BaseGLGlyph=s,s.__name__=\"BaseGLGlyph\"},\n", + " function _(n,e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.vertex_shader=\"\\nprecision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size, u_offset;\\nuniform vec2 u_scale_aspect;\\nuniform float u_scale_length;\\n\\nuniform vec4 u_color;\\nuniform float u_antialias;\\nuniform float u_length;\\nuniform float u_linewidth;\\nuniform float u_dash_index;\\nuniform float u_closed;\\n\\nattribute vec2 a_position;\\nattribute vec4 a_tangents;\\nattribute vec2 a_segment;\\nattribute vec2 a_angles;\\nattribute vec2 a_texcoord;\\n\\nvarying vec4 v_color;\\nvarying vec2 v_segment;\\nvarying vec2 v_angles;\\nvarying vec2 v_texcoord;\\nvarying vec2 v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\nfloat cross(in vec2 v1, in vec2 v2)\\n{\\n return v1.x*v2.y - v1.y*v2.x;\\n}\\n\\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\\n{\\n return cross(v2-v1,v1-v3) / length(v2-v1);\\n}\\n\\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\\n{\\n float c = cos(alpha);\\n float s = sin(alpha);\\n result = vec2( c*v.x - s*v.y,\\n s*v.x + c*v.y );\\n}\\n\\nvoid main()\\n{\\n bool closed = (u_closed > 0.0);\\n\\n // Attributes and uniforms to varyings\\n v_color = u_color;\\n v_linewidth = u_linewidth;\\n v_segment = a_segment * u_scale_length;\\n v_length = u_length * u_scale_length;\\n\\n // Scale to map to pixel coordinates. The original algorithm from the paper\\n // assumed isotropic scale. We obviously do not have this.\\n vec2 abs_scale_aspect = abs(u_scale_aspect);\\n vec2 abs_scale = u_scale_length * abs_scale_aspect;\\n\\n // Correct angles for aspect ratio\\n vec2 av;\\n av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\\n v_angles.x = atan(av.y, av.x);\\n av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\\n v_angles.y = atan(av.y, av.x);\\n\\n // Thickness below 1 pixel are represented using a 1 pixel thickness\\n // and a modified alpha\\n v_color.a = min(v_linewidth, v_color.a);\\n v_linewidth = max(v_linewidth, 1.0);\\n\\n // If color is fully transparent we just will discard the fragment anyway\\n if( v_color.a <= 0.0 ) {\\n gl_Position = vec4(0.0,0.0,0.0,1.0);\\n return;\\n }\\n\\n // This is the actual half width of the line\\n float w = ceil(u_antialias+v_linewidth)/2.0;\\n\\n vec2 position = a_position;\\n\\n vec2 t1 = normalize(a_tangents.xy * abs_scale_aspect); // note the scaling for aspect ratio here\\n vec2 t2 = normalize(a_tangents.zw * abs_scale_aspect);\\n float u = a_texcoord.x;\\n float v = a_texcoord.y;\\n vec2 o1 = vec2( +t1.y, -t1.x);\\n vec2 o2 = vec2( +t2.y, -t2.x);\\n\\n // This is a join\\n // ----------------------------------------------------------------\\n if( t1 != t2 ) {\\n float angle = atan (t1.x*t2.y-t1.y*t2.x, t1.x*t2.x+t1.y*t2.y); // Angle needs recalculation for some reason\\n vec2 t = normalize(t1+t2);\\n vec2 o = vec2( + t.y, - t.x);\\n\\n if ( u_dash_index > 0.0 )\\n {\\n // Broken angle\\n // ----------------------------------------------------------------\\n if( (abs(angle) > THETA) ) {\\n position += v * w * o / cos(angle/2.0);\\n float s = sign(angle);\\n if( angle < 0.0 ) {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n if( v == 1.0 ) {\\n position -= 2.0 * w * t1 / sin(angle);\\n u -= 2.0 * w / sin(angle);\\n }\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n if( v == 1.0 ) {\\n position += 2.0 * w * t2 / sin(angle);\\n u += 2.0*w / sin(angle);\\n }\\n }\\n } else {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n if( v == -1.0 ) {\\n position += 2.0 * w * t1 / sin(angle);\\n u += 2.0 * w / sin(angle);\\n }\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n if( v == -1.0 ) {\\n position -= 2.0 * w * t2 / sin(angle);\\n u -= 2.0*w / sin(angle);\\n }\\n }\\n }\\n // Continuous angle\\n // ------------------------------------------------------------\\n } else {\\n position += v * w * o / cos(angle/2.0);\\n if( u == +1.0 ) u = v_segment.y;\\n else u = v_segment.x;\\n }\\n }\\n\\n // Solid line\\n // --------------------------------------------------------------------\\n else\\n {\\n position.xy += v * w * o / cos(angle/2.0);\\n if( angle < 0.0 ) {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n }\\n } else {\\n if( u == +1.0 ) {\\n u = v_segment.y + v * w * tan(angle/2.0);\\n } else {\\n u = v_segment.x - v * w * tan(angle/2.0);\\n }\\n }\\n }\\n\\n // This is a line start or end (t1 == t2)\\n // ------------------------------------------------------------------------\\n } else {\\n position += v * w * o1;\\n if( u == -1.0 ) {\\n u = v_segment.x - w;\\n position -= w * t1;\\n } else {\\n u = v_segment.y + w;\\n position += w * t2;\\n }\\n }\\n\\n // Miter distance\\n // ------------------------------------------------------------------------\\n vec2 t;\\n vec2 curr = a_position * abs_scale;\\n if( a_texcoord.x < 0.0 ) {\\n vec2 next = curr + t2*(v_segment.y-v_segment.x);\\n\\n rotate( t1, +v_angles.x/2.0, t);\\n v_miter.x = signed_distance(curr, curr+t, position);\\n\\n rotate( t2, +v_angles.y/2.0, t);\\n v_miter.y = signed_distance(next, next+t, position);\\n } else {\\n vec2 prev = curr - t1*(v_segment.y-v_segment.x);\\n\\n rotate( t1, -v_angles.x/2.0,t);\\n v_miter.x = signed_distance(prev, prev+t, position);\\n\\n rotate( t2, -v_angles.y/2.0,t);\\n v_miter.y = signed_distance(curr, curr+t, position);\\n }\\n\\n if (!closed && v_segment.x <= 0.0) {\\n v_miter.x = 1e10;\\n }\\n if (!closed && v_segment.y >= v_length)\\n {\\n v_miter.y = 1e10;\\n }\\n\\n v_texcoord = vec2( u, v*w );\\n\\n // Calculate position in device coordinates. Note that we\\n // already scaled with abs scale above.\\n vec2 normpos = position * sign(u_scale_aspect);\\n normpos += 0.5; // make up for Bokeh's offset\\n normpos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\\n gl_Position.y *= -1.0;\\n}\\n\"},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.fragment_shader=\"\\nprecision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform sampler2D u_dash_atlas;\\n\\nuniform vec2 u_linecaps;\\nuniform float u_miter_limit;\\nuniform float u_linejoin;\\nuniform float u_antialias;\\nuniform float u_dash_phase;\\nuniform float u_dash_period;\\nuniform float u_dash_index;\\nuniform vec2 u_dash_caps;\\nuniform float u_closed;\\n\\nvarying vec4 v_color;\\nvarying vec2 v_segment;\\nvarying vec2 v_angles;\\nvarying vec2 v_texcoord;\\nvarying vec2 v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\n// Compute distance to cap ----------------------------------------------------\\nfloat cap( int type, float dx, float dy, float t, float linewidth )\\n{\\n float d = 0.0;\\n dx = abs(dx);\\n dy = abs(dy);\\n if (type == 0) discard; // None\\n else if (type == 1) d = sqrt(dx*dx+dy*dy); // Round\\n else if (type == 3) d = (dx+abs(dy)); // Triangle in\\n else if (type == 2) d = max(abs(dy),(t+dx-abs(dy))); // Triangle out\\n else if (type == 4) d = max(dx,dy); // Square\\n else if (type == 5) d = max(dx+t,dy); // Butt\\n return d;\\n}\\n\\n// Compute distance to join -------------------------------------------------\\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\\n in float linewidth )\\n{\\n // texcoord.x is distance from start\\n // texcoord.y is distance from centerline\\n // segment.x and y indicate the limits (as for texcoord.x) for this segment\\n\\n float dx = texcoord.x;\\n\\n // Round join\\n if( type == 1 ) {\\n if (dx < segment.x) {\\n d = max(d,length( texcoord - vec2(segment.x,0.0)));\\n //d = length( texcoord - vec2(segment.x,0.0));\\n } else if (dx > segment.y) {\\n d = max(d,length( texcoord - vec2(segment.y,0.0)));\\n //d = length( texcoord - vec2(segment.y,0.0));\\n }\\n }\\n // Bevel join\\n else if ( type == 2 ) {\\n if (dx < segment.x) {\\n vec2 x = texcoord - vec2(segment.x,0.0);\\n d = max(d, max(abs(x.x), abs(x.y)));\\n\\n } else if (dx > segment.y) {\\n vec2 x = texcoord - vec2(segment.y,0.0);\\n d = max(d, max(abs(x.x), abs(x.y)));\\n }\\n /* Original code for bevel which does not work for us\\n if( (dx < segment.x) || (dx > segment.y) )\\n d = max(d, min(abs(x.x),abs(x.y)));\\n */\\n }\\n\\n return d;\\n}\\n\\nvoid main()\\n{\\n // If color is fully transparent we just discard the fragment\\n if( v_color.a <= 0.0 ) {\\n discard;\\n }\\n\\n // Test if dash pattern is the solid one (0)\\n bool solid = (u_dash_index == 0.0);\\n\\n // Test if path is closed\\n bool closed = (u_closed > 0.0);\\n\\n vec4 color = v_color;\\n float dx = v_texcoord.x;\\n float dy = v_texcoord.y;\\n float t = v_linewidth/2.0-u_antialias;\\n float width = 1.0; //v_linewidth; original code had dashes scale with line width, we do not\\n float d = 0.0;\\n\\n vec2 linecaps = u_linecaps;\\n vec2 dash_caps = u_dash_caps;\\n float line_start = 0.0;\\n float line_stop = v_length;\\n\\n // Apply miter limit; fragments too far into the miter are simply discarded\\n if( (dx < v_segment.x) || (dx > v_segment.y) ) {\\n float into_miter = max(v_segment.x - dx, dx - v_segment.y);\\n if (into_miter > u_miter_limit*v_linewidth/2.0)\\n discard;\\n }\\n\\n // Solid line --------------------------------------------------------------\\n if( solid ) {\\n d = abs(dy);\\n if( (!closed) && (dx < line_start) ) {\\n d = cap( int(u_linecaps.x), abs(dx), abs(dy), t, v_linewidth );\\n }\\n else if( (!closed) && (dx > line_stop) ) {\\n d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\\n }\\n else {\\n d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\\n }\\n\\n // Dash line --------------------------------------------------------------\\n } else {\\n float segment_start = v_segment.x;\\n float segment_stop = v_segment.y;\\n float segment_center= (segment_start+segment_stop)/2.0;\\n float freq = u_dash_period*width;\\n float u = mod( dx + u_dash_phase*width, freq);\\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\\n float dash_center= tex.x * width;\\n float dash_type = tex.y;\\n float _start = tex.z * width;\\n float _stop = tex.a * width;\\n float dash_start = dx - u + _start;\\n float dash_stop = dx - u + _stop;\\n\\n // Compute extents of the first dash (the one relative to v_segment.x)\\n // Note: this could be computed in the vertex shader\\n if( (dash_stop < segment_start) && (dash_caps.x != 5.0) ) {\\n float u = mod(segment_start + u_dash_phase*width, freq);\\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\\n dash_center= tex.x * width;\\n //dash_type = tex.y;\\n float _start = tex.z * width;\\n float _stop = tex.a * width;\\n dash_start = segment_start - u + _start;\\n dash_stop = segment_start - u + _stop;\\n }\\n\\n // Compute extents of the last dash (the one relatives to v_segment.y)\\n // Note: This could be computed in the vertex shader\\n else if( (dash_start > segment_stop) && (dash_caps.y != 5.0) ) {\\n float u = mod(segment_stop + u_dash_phase*width, freq);\\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\\n dash_center= tex.x * width;\\n //dash_type = tex.y;\\n float _start = tex.z * width;\\n float _stop = tex.a * width;\\n dash_start = segment_stop - u + _start;\\n dash_stop = segment_stop - u + _stop;\\n }\\n\\n // This test if the we are dealing with a discontinuous angle\\n bool discontinuous = ((dx < segment_center) && abs(v_angles.x) > THETA) ||\\n ((dx >= segment_center) && abs(v_angles.y) > THETA);\\n //if( dx < line_start) discontinuous = false;\\n //if( dx > line_stop) discontinuous = false;\\n\\n float d_join = join( int(u_linejoin), abs(dy),\\n v_segment, v_texcoord, v_miter, v_linewidth );\\n\\n // When path is closed, we do not have room for linecaps, so we make room\\n // by shortening the total length\\n if (closed) {\\n line_start += v_linewidth/2.0;\\n line_stop -= v_linewidth/2.0;\\n }\\n\\n // We also need to take antialias area into account\\n //line_start += u_antialias;\\n //line_stop -= u_antialias;\\n\\n // Check is dash stop is before line start\\n if( dash_stop <= line_start ) {\\n discard;\\n }\\n // Check is dash start is beyond line stop\\n if( dash_start >= line_stop ) {\\n discard;\\n }\\n\\n // Check if current dash start is beyond segment stop\\n if( discontinuous ) {\\n // Dash start is beyond segment, we discard\\n if( (dash_start > segment_stop) ) {\\n discard;\\n //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\\n }\\n\\n // Dash stop is before segment, we discard\\n if( (dash_stop < segment_start) ) {\\n discard; //gl_FragColor = vec4(0.0,1.0,0.0,.25); return;\\n }\\n\\n // Special case for round caps (nicer with this)\\n if( dash_caps.x == 1.0 ) {\\n if( (u > _stop) && (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0)) {\\n discard;\\n }\\n }\\n\\n // Special case for round caps (nicer with this)\\n if( dash_caps.y == 1.0 ) {\\n if( (u < _start) && (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0)) {\\n discard;\\n }\\n }\\n\\n // Special case for triangle caps (in & out) and square\\n // We make sure the cap stop at crossing frontier\\n if( (dash_caps.x != 1.0) && (dash_caps.x != 5.0) ) {\\n if( (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0) ) {\\n float a = v_angles.x/2.0;\\n float x = (segment_start-dx)*cos(a) - dy*sin(a);\\n float y = (segment_start-dx)*sin(a) + dy*cos(a);\\n if( x > 0.0 ) discard;\\n // We transform the cap into square to avoid holes\\n dash_caps.x = 4.0;\\n }\\n }\\n\\n // Special case for triangle caps (in & out) and square\\n // We make sure the cap stop at crossing frontier\\n if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\\n if( (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0) ) {\\n float a = v_angles.y/2.0;\\n float x = (dx-segment_stop)*cos(a) - dy*sin(a);\\n float y = (dx-segment_stop)*sin(a) + dy*cos(a);\\n if( x > 0.0 ) discard;\\n // We transform the caps into square to avoid holes\\n dash_caps.y = 4.0;\\n }\\n }\\n }\\n\\n // Line cap at start\\n if( (dx < line_start) && (dash_start < line_start) && (dash_stop > line_start) ) {\\n d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\\n }\\n // Line cap at stop\\n else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start < line_stop) ) {\\n d = cap( int(linecaps.y), dx-line_stop, dy, t, v_linewidth);\\n }\\n // Dash cap left - dash_type = -1, 0 or 1, but there may be roundoff errors\\n else if( dash_type < -0.5 ) {\\n d = cap( int(dash_caps.y), abs(u-dash_center), dy, t, v_linewidth);\\n if( (dx > line_start) && (dx < line_stop) )\\n d = max(d,d_join);\\n }\\n // Dash cap right\\n else if( dash_type > 0.5 ) {\\n d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\\n if( (dx > line_start) && (dx < line_stop) )\\n d = max(d,d_join);\\n }\\n // Dash body (plain)\\n else {// if( dash_type > -0.5 && dash_type < 0.5) {\\n d = abs(dy);\\n }\\n\\n // Line join\\n if( (dx > line_start) && (dx < line_stop)) {\\n if( (dx <= segment_start) && (dash_start <= segment_start)\\n && (dash_stop >= segment_start) ) {\\n d = d_join;\\n // Antialias at outer border\\n float angle = PI/2.+v_angles.x;\\n float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\\n d = max(f,d);\\n }\\n else if( (dx > segment_stop) && (dash_start <= segment_stop)\\n && (dash_stop >= segment_stop) ) {\\n d = d_join;\\n // Antialias at outer border\\n float angle = PI/2.+v_angles.y;\\n float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\\n d = max(f,d);\\n }\\n else if( dx < (segment_start - v_linewidth/2.)) {\\n discard;\\n }\\n else if( dx > (segment_stop + v_linewidth/2.)) {\\n discard;\\n }\\n }\\n else if( dx < (segment_start - v_linewidth/2.)) {\\n discard;\\n }\\n else if( dx > (segment_stop + v_linewidth/2.)) {\\n discard;\\n }\\n }\\n\\n // Distance to border ------------------------------------------------------\\n d = d - t;\\n if( d < 0.0 ) {\\n gl_FragColor = color;\\n } else {\\n d /= u_antialias;\\n gl_FragColor = vec4(color.rgb, exp(-d*d)*color.a);\\n }\\n}\\n\"},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1),l=e(93),_=e(100),n=s.__importStar(e(101)),o=s.__importStar(e(28)),a=e(88);class h extends l.XYGlyphView{_inner_loop(e,i,t,s,l){for(const _ of i)0!=_?isNaN(t[_]+s[_])?(e.closePath(),l.apply(e),e.beginPath()):e.lineTo(t[_],s[_]):(e.beginPath(),e.moveTo(t[_],s[_]));e.closePath(),l.call(e)}_render(e,i,{sx:t,sy:s}){this.visuals.fill.doit&&(this.visuals.fill.set_value(e),this._inner_loop(e,i,t,s,e.fill)),this.visuals.hatch.doit2(e,0,()=>this._inner_loop(e,i,t,s,e.fill),()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_value(e),this._inner_loop(e,i,t,s,e.stroke))}draw_legend_for_index(e,i,t){_.generic_area_legend(this.visuals,e,i,t)}_hit_point(e){const i=new a.Selection;return n.point_in_poly(e.sx,e.sy,this.sx,this.sy)&&(i.add_to_selected_glyphs(this.model),i.view=this),i}}t.PatchView=h,h.__name__=\"PatchView\";class r extends l.XYGlyph{constructor(e){super(e)}static init_Patch(){this.prototype.default_view=h,this.mixins([o.Line,o.Fill,o.Hatch])}}t.Patch=r,r.__name__=\"Patch\",r.init_Patch()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),r=e(24),n=e(112),a=i.__importStar(e(101)),_=i.__importStar(e(18)),h=e(88);class l extends n.AreaView{_index_data(e){const{min:t,max:s}=Math,{data_size:i}=this;for(let r=0;r=0;t--)e.lineTo(s[t],i[t]);e.closePath(),r.call(e)}_render(e,t,{sx1:s,sx2:i,sy:r}){this.visuals.fill.doit&&(this.visuals.fill.set_value(e),this._inner(e,s,i,r,e.fill)),this.visuals.hatch.doit2(e,0,()=>this._inner(e,s,i,r,e.fill),()=>this.renderer.request_render())}_hit_point(e){const t=this.sy.length,s=new r.NumberArray(2*t),i=new r.NumberArray(2*t);for(let e=0,r=t;e=0;s--)e.lineTo(t[s],i[s]);e.closePath(),r.call(e)}_render(e,t,{sx:s,sy1:i,sy2:r}){this.visuals.fill.doit&&(this.visuals.fill.set_value(e),this._inner(e,s,i,r,e.fill)),this.visuals.hatch.doit2(e,0,()=>this._inner(e,s,i,r,e.fill),()=>this.renderer.request_render())}scenterxy(e){return[this.sx[e],(this.sy1[e]+this.sy2[e])/2]}_hit_point(e){const t=this.sx.length,s=new r.NumberArray(2*t),i=new r.NumberArray(2*t);for(let e=0,r=t;ethis.compute_indices());const i=()=>{const i=()=>this.compute_indices();null!=this.source&&(this.connect(this.source.change,i),this.source instanceof _.ColumnarDataSource&&(this.connect(this.source.streaming,i),this.connect(this.source.patching,i)))};let e=null!=this.source;e?i():this.connect(this.properties.source.change,()=>{e||(i(),e=!0)})}compute_indices(){var i;const{source:e}=this;if(null==e)return;const s=null!==(i=e.get_length())&&void 0!==i?i:1,t=r.Indices.all_set(s);for(const i of this.filters)t.intersect(i.compute_indices(e));this.indices=t,this._indices=[...t],this.indices_map_to_subset()}indices_map_to_subset(){this.indices_map={};for(let i=0;ithis._indices[i]);return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_selection_to_subset(i){const e=i.indices.map(i=>this.indices_map[i]);return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_indices_from_subset(i){return i.map(i=>this._indices[i])}}s.CDSView=a,a.__name__=\"CDSView\",a.init_CDSView()},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(9);async function i(e,n,t){const o=new e(Object.assign(Object.assign({},t),{model:n}));return o.initialize(),await o.lazy_initialize(),o}t.build_view=async function(e,n={parent:null},t=(e=>e.default_view)){const o=await i(t(e),e,n);return o.connect_signals(),o},t.build_views=async function(e,n,t={parent:null},s=(e=>e.default_view)){const c=o.difference([...e.keys()],n);for(const n of c)e.get(n).remove(),e.delete(n);const a=[],f=n.filter(n=>!e.has(n));for(const n of f){const o=await i(s(n),n,t);e.set(n,o),a.push(o)}for(const e of a)e.connect_signals();return a},t.remove_views=function(e){for(const[n,t]of e)t.remove(),e.delete(n)}},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(1),i=e(91),s=e(117),a=t.__importStar(e(18)),o=e(115),_=e(11);class l extends i.DataRendererView{async lazy_initialize(){await super.lazy_initialize();const e=this.model;let r=null,n=null;const t={v_compute(n){_.assert(null==r);const[t]=r=e.layout_provider.get_edge_coordinates(n);return t}},i={v_compute(e){_.assert(null!=r);const[,n]=r;return r=null,n}},s={v_compute(r){_.assert(null==n);const[t]=n=e.layout_provider.get_node_coordinates(r);return t}},a={v_compute(e){_.assert(null!=n);const[,r]=n;return n=null,r}},{edge_renderer:l,node_renderer:d}=this.model;l.glyph.properties.xs.internal=!0,l.glyph.properties.ys.internal=!0,d.glyph.properties.x.internal=!0,d.glyph.properties.y.internal=!0,l.glyph.xs={expr:t},l.glyph.ys={expr:i},d.glyph.x={expr:s},d.glyph.y={expr:a};const{parent:p}=this;this.edge_view=await o.build_view(l,{parent:p}),this.node_view=await o.build_view(d,{parent:p})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,()=>{this.edge_view.set_data(!1),this.node_view.set_data(!1),this.request_render()})}remove(){this.edge_view.remove(),this.node_view.remove(),super.remove()}_render(){this.edge_view.render(),this.node_view.render()}}n.GraphRendererView=l,l.__name__=\"GraphRendererView\";class d extends i.DataRenderer{constructor(e){super(e)}static init_GraphRenderer(){this.prototype.default_view=l,this.define({layout_provider:[a.Instance],node_renderer:[a.Instance],edge_renderer:[a.Instance],selection_policy:[a.Instance,()=>new s.NodesOnly],inspection_policy:[a.Instance,()=>new s.NodesOnly]})}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}n.GraphRenderer=d,d.__name__=\"GraphRenderer\",d.init_GraphRenderer()},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const d=e(81),s=e(12),o=e(9),_=e(88);class i extends d.Model{constructor(e){super(e)}_hit_test_nodes(e,t){if(!t.model.visible)return null;const n=t.node_view.glyph.hit_test(e);return null==n?null:t.node_view.model.view.convert_selection_from_subset(n)}_hit_test_edges(e,t){if(!t.model.visible)return null;const n=t.edge_view.glyph.hit_test(e);return null==n?null:t.edge_view.model.view.convert_selection_from_subset(n)}}n.GraphHitTestPolicy=i,i.__name__=\"GraphHitTestPolicy\";class r extends i{constructor(e){super(e)}hit_test(e,t){return this._hit_test_nodes(e,t)}do_selection(e,t,n,d){if(null==e)return!1;const s=t.node_renderer.data_source.selected;return s.update(e,n,d),t.node_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,n,d,s){if(null==e)return!1;const o=n.model.get_selection_manager().get_or_create_inspector(n.node_view.model);return o.update(e,d,s),n.node_view.model.data_source.setv({inspected:o},{silent:!0}),n.node_view.model.data_source.inspect.emit([n.node_view,{geometry:t}]),!o.is_empty()}}n.NodesOnly=r,r.__name__=\"NodesOnly\";class c extends i{constructor(e){super(e)}hit_test(e,t){return this._hit_test_nodes(e,t)}get_linked_edges(e,t,n){let d=[];\"selection\"==n?d=e.selected.indices.map(t=>e.data.index[t]):\"inspection\"==n&&(d=e.inspected.indices.map(t=>e.data.index[t]));const s=[];for(let e=0;es.indexOf(e.data.index,t));return new _.Selection({indices:r})}do_selection(e,t,n,d){if(null==e)return!1;const s=t.edge_renderer.data_source.selected;s.update(e,n,d);const o=t.node_renderer.data_source.selected,_=this.get_linked_nodes(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.update(_,n,d),t.edge_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,n,d,s){if(null==e)return!1;const o=n.edge_view.model.data_source.selection_manager.get_or_create_inspector(n.edge_view.model);o.update(e,d,s),n.edge_view.model.data_source.setv({inspected:o},{silent:!0});const _=n.node_view.model.data_source.selection_manager.get_or_create_inspector(n.node_view.model),i=this.get_linked_nodes(n.node_view.model.data_source,n.edge_view.model.data_source,\"inspection\");return _.update(i,d,s),n.node_view.model.data_source.setv({inspected:_},{silent:!0}),n.edge_view.model.data_source.inspect.emit([n.edge_view,{geometry:t}]),!o.is_empty()}}n.EdgesAndLinkedNodes=a,a.__name__=\"EdgesAndLinkedNodes\"},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=e(81);class o extends s.Model{do_selection(e,t,n,s){return null!==e&&(t.selected.update(e,n,s),t._select.emit(),!t.selected.is_empty())}}n.SelectionPolicy=o,o.__name__=\"SelectionPolicy\";class r extends o{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!==t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_intersection(t);return e}return null}}n.IntersectRenderers=r,r.__name__=\"IntersectRenderers\";class c extends o{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!==t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_union(t);return e}return null}}n.UnionRenderers=c,c.__name__=\"UnionRenderers\"},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.concat=function(t,...e){let n=t.length;for(const t of e)n+=t.length;const o=new t.constructor(n);o.set(t,0);let c=t.length;for(const t of e)o.set(t,c),c+=t.length;return o}},\n", + " function _(n,o,e){function t(...n){const o=new Set;for(const e of n)for(const n of e)o.add(n);return o}Object.defineProperty(e,\"__esModule\",{value:!0}),e.union=t,e.intersection=function(n,...o){const e=new Set;n:for(const t of n){for(const n of o)if(!n.has(t))continue n;e.add(t)}return e},e.difference=function(n,...o){const e=new Set(n);for(const n of t(...o))e.delete(n);return e}},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(14);class o{constructor(e){this.document=e}}s.DocumentEvent=o,o.__name__=\"DocumentEvent\";class r extends o{constructor(e,t,s){super(e),this.events=t,this.setter_id=s}}s.DocumentEventBatch=r,r.__name__=\"DocumentEventBatch\";class d extends o{}s.DocumentChangedEvent=d,d.__name__=\"DocumentChangedEvent\";class _ extends d{constructor(e,t,s){super(e),this.msg_type=t,this.msg_data=s}json(e){const t=this.msg_data,s=n.HasProps._value_to_json(t),o=new Set;return n.HasProps._value_record_references(t,o,{recursive:!0}),{kind:\"MessageSent\",msg_type:this.msg_type,msg_data:s}}}s.MessageSentEvent=_,_.__name__=\"MessageSentEvent\";class i extends d{constructor(e,t,s,n,o,r,d){super(e),this.model=t,this.attr=s,this.old=n,this.new_=o,this.setter_id=r,this.hint=d}json(e){if(\"id\"===this.attr)throw new Error(\"'id' field should never change, whatever code just set it is wrong\");if(null!=this.hint)return this.hint.json(e);const t=this.new_,s=n.HasProps._value_to_json(t),o=new Set;n.HasProps._value_record_references(t,o,{recursive:!0}),o.has(this.model)&&this.model!==t&&o.delete(this.model);for(const t of o)e.add(t);return{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:s}}}s.ModelChangedEvent=i,i.__name__=\"ModelChangedEvent\";class a extends d{constructor(e,t,s){super(e),this.column_source=t,this.patches=s}json(e){return{kind:\"ColumnsPatched\",column_source:this.column_source,patches:this.patches}}}s.ColumnsPatchedEvent=a,a.__name__=\"ColumnsPatchedEvent\";class c extends d{constructor(e,t,s,n){super(e),this.column_source=t,this.data=s,this.rollover=n}json(e){return{kind:\"ColumnsStreamed\",column_source:this.column_source,data:this.data,rollover:this.rollover}}}s.ColumnsStreamedEvent=c,c.__name__=\"ColumnsStreamedEvent\";class h extends d{constructor(e,t,s){super(e),this.title=t,this.setter_id=s}json(e){return{kind:\"TitleChanged\",title:this.title}}}s.TitleChangedEvent=h,h.__name__=\"TitleChangedEvent\";class u extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}json(e){return n.HasProps._value_record_references(this.model,e,{recursive:!0}),{kind:\"RootAdded\",model:this.model.ref()}}}s.RootAddedEvent=u,u.__name__=\"RootAddedEvent\";class l extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}json(e){return{kind:\"RootRemoved\",model:this.model.ref()}}}s.RootRemovedEvent=l,l.__name__=\"RootRemovedEvent\"},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(1),l=e(123),_=i.__importStar(e(28));class o extends l.UpperLowerView{connect_signals(){super.connect_signals();const e=()=>this.set_data(this.model.source);this.connect(this.model.change,e),this.connect(this.model.source.streaming,e),this.connect(this.model.source.patching,e),this.connect(this.model.source.change,e)}_render(){this._map_data();const{ctx:e}=this.layer;e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,t=this._lower_sx.length;s=0;s--)e.lineTo(this._upper_sx[s],this._upper_sy[s]);e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(e),e.fill()),e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,t=this._lower_sx.length;snew r.ColumnDataSource]})}}i.UpperLower=a,a.__name__=\"UpperLower\",a.init_UpperLower()},\n", + " function _(t,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const e=t(1),o=t(36),n=t(15),l=e.__importStar(t(28)),a=e.__importStar(t(18)),h=t(79);s.EDGE_TOLERANCE=2.5;class r extends o.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_paint(this)),this.connect(this.model.data_update,()=>this.plot_view.request_paint(this))}_render(){if(null==this.model.left&&null==this.model.right&&null==this.model.top&&null==this.model.bottom)return;const{frame:t}=this.plot_view,i=this.coordinates.x_scale,s=this.coordinates.y_scale,e=(t,i,s,e,o)=>{let n;return n=null!=t?this.model.screen?t:\"data\"==i?s.compute(t):e.compute(t):o,n};this.sleft=e(this.model.left,this.model.left_units,i,t.xview,t.bbox.left),this.sright=e(this.model.right,this.model.right_units,i,t.xview,t.bbox.right),this.stop=e(this.model.top,this.model.top_units,s,t.yview,t.bbox.top),this.sbottom=e(this.model.bottom,this.model.bottom_units,s,t.yview,t.bbox.bottom),this._paint_box(this.sleft,this.sright,this.sbottom,this.stop)}_paint_box(t,i,s,e){const{ctx:o}=this.layer;o.save(),o.beginPath(),o.rect(t,e,i-t,s-e),this.visuals.fill.doit&&(this.visuals.fill.set_value(o),o.fill()),this.visuals.line.doit&&(this.visuals.line.set_value(o),o.stroke()),o.restore()}interactive_bbox(){const t=this.model.properties.line_width.value()+s.EDGE_TOLERANCE;return new h.BBox({x0:this.sleft-t,y0:this.stop-t,x1:this.sright+t,y1:this.sbottom+t})}interactive_hit(t,i){if(null==this.model.in_cursor)return!1;return this.interactive_bbox().contains(t,i)}cursor(t,i){return Math.abs(t-this.sleft)<3||Math.abs(t-this.sright)<3?this.model.ew_cursor:Math.abs(i-this.sbottom)<3||Math.abs(i-this.stop)<3?this.model.ns_cursor:t>this.sleft&&tthis.stop&&ithis.plot_view.request_render()),this.connect(this.model.formatter.change,()=>this.plot_view.request_render()),null!=this.model.color_mapper&&this.connect(this.model.color_mapper.change,()=>{this._set_canvas_image(),this.plot_view.request_render()})}_get_size(){if(null==this.model.color_mapper)return{width:0,height:0};{const{width:t,height:e}=this.compute_legend_dimensions();return{width:t,height:e}}}_set_canvas_image(){if(null==this.model.color_mapper)return;let t,e,{palette:i}=this.model.color_mapper;switch(\"vertical\"==this.model.orientation&&(i=g.reversed(i)),this.model.orientation){case\"vertical\":[t,e]=[1,i.length];break;case\"horizontal\":[t,e]=[i.length,1]}const o=document.createElement(\"canvas\");o.width=t,o.height=e;const a=o.getContext(\"2d\"),s=a.getImageData(0,0,t,e),r=new n.LinearColorMapper({palette:i}).rgba_mapper.v_compute(g.range(0,i.length));s.data.set(r),a.putImageData(s,0,0),this.image=o}compute_legend_dimensions(){const t=this._computed_image_dimensions(),[e,i]=[t.height,t.width],o=this._get_label_extent(),a=this._title_extent(),s=this._tick_extent(),{padding:r}=this.model;let n,l;switch(this.model.orientation){case\"vertical\":n=e+a+2*r,l=i+s+o+2*r;break;case\"horizontal\":n=e+a+s+o+2*r,l=i+2*r}return{width:l,height:n}}compute_legend_location(){const t=this.compute_legend_dimensions(),[e,i]=[t.height,t.width],o=this.model.margin,a=null!=this.panel?this.panel:this.plot_view.frame,[s,r]=a.bbox.ranges,{location:n}=this.model;let l,_;if(f.isString(n))switch(n){case\"top_left\":l=s.start+o,_=r.start+o;break;case\"top_center\":l=(s.end+s.start)/2-i/2,_=r.start+o;break;case\"top_right\":l=s.end-o-i,_=r.start+o;break;case\"bottom_right\":l=s.end-o-i,_=r.end-o-e;break;case\"bottom_center\":l=(s.end+s.start)/2-i/2,_=r.end-o-e;break;case\"bottom_left\":l=s.start+o,_=r.end-o-e;break;case\"center_left\":l=s.start+o,_=(r.end+r.start)/2-e/2;break;case\"center\":l=(s.end+s.start)/2-i/2,_=(r.end+r.start)/2-e/2;break;case\"center_right\":l=s.end-o-i,_=(r.end+r.start)/2-e/2}else if(f.isArray(n)&&2==n.length){const[t,i]=n;l=a.xview.compute(t),_=a.yview.compute(i)-e}else b.unreachable();return{sx:l,sy:_}}_render(){if(null==this.model.color_mapper)return;const{ctx:t}=this.layer;t.save();const{sx:e,sy:i}=this.compute_legend_location();t.translate(e,i),this._draw_bbox(t);const o=this._get_image_offset();t.translate(o.x,o.y),this._draw_image(t);const a=this.tick_info();this._draw_major_ticks(t,a),this._draw_minor_ticks(t,a),this._draw_major_labels(t,a),this.model.title&&this._draw_title(t),t.restore()}_draw_bbox(t){const e=this.compute_legend_dimensions();t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(0,0,e.width,e.height)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()}_draw_image(t){const e=this._computed_image_dimensions();t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this.image,0,0,e.width,e.height),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()}_draw_major_ticks(t,e){if(!this.visuals.major_tick_line.doit)return;const[i,o]=this._normals(),a=this._computed_image_dimensions(),[s,r]=[a.width*i,a.height*o],[n,l]=e.coords.major,_=this.model.major_tick_in,h=this.model.major_tick_out;t.save(),t.translate(s,r),this.visuals.major_tick_line.set_value(t);for(let e=0,a=n.length;ei.measureText(t.toString()).width));break;case\"horizontal\":e=u.measure_font(this.visuals.major_label_text.font_value()).height}e+=this.model.label_standoff,i.restore()}return e}_get_image_offset(){return{x:this.model.padding,y:this.model.padding+this._title_extent()}}_normals(){return\"vertical\"==this.model.orientation?[1,0]:[0,1]}_title_extent(){const t=this.model.title_text_font+\" \"+this.model.title_text_font_size+\" \"+this.model.title_text_font_style;return this.model.title?u.measure_font(t).height+this.model.title_standoff:0}_tick_extent(){return g.max([this.model.major_tick_out,this.model.minor_tick_out])}_computed_image_dimensions(){const t=this.plot_view.frame.bbox.height,e=this.plot_view.frame.bbox.width,i=this._title_extent();let o,a;switch(this.model.orientation){case\"vertical\":\"auto\"==this.model.height?null!=this.panel?o=t-2*this.model.padding-i:(o=g.max([25*this.model.color_mapper.palette.length,.3*t]),o=g.min([o,.8*t-2*this.model.padding-i])):o=this.model.height,a=\"auto\"==this.model.width?25:this.model.width;break;case\"horizontal\":o=\"auto\"==this.model.height?25:this.model.height,\"auto\"==this.model.width?null!=this.panel?a=e-2*this.model.padding:(a=g.max([25*this.model.color_mapper.palette.length,.3*e]),a=g.min([a,.8*e-2*this.model.padding])):a=this.model.width}return{width:a,height:o}}_tick_coordinate_scale(t){const e={source_range:new m.Range1d({start:this.model.color_mapper.metrics.min,end:this.model.color_mapper.metrics.max}),target_range:new m.Range1d({start:0,end:t})},{color_mapper:i}=this.model;if(i instanceof n.LinearColorMapper)return new l.LinearScale(e);if(i instanceof n.LogColorMapper)return new h.LogScale(e);if(i instanceof n.ScanningColorMapper){const{binning:t}=i.metrics;return new _.LinearInterpolationScale(Object.assign(Object.assign({},e),{binning:t}))}b.unreachable()}_format_major_labels(t,e){const i=this.model.formatter.doFormat(t,null);for(let t=0,o=e.length;tr||(h[o].push(l[t]),h[a].push(0));for(let t=0,e=_.length;tr||(m[o].push(_[t]),m[a].push(0));const d={major:this._format_major_labels(h[o],l)},c={major:[[],[]],minor:[[],[]]};return c.major[o]=i.v_compute(h[o]),c.minor[o]=i.v_compute(m[o]),c.major[a]=h[a],c.minor[a]=m[a],\"vertical\"==this.model.orientation&&(c.major[o]=p.map(c.major[o],t=>e-t),c.minor[o]=p.map(c.minor[o],t=>e-t)),{coords:c,labels:d}}}i.ColorBarView=v,v.__name__=\"ColorBarView\";class w extends a.Annotation{constructor(t){super(t)}static init_ColorBar(){this.prototype.default_view=v,this.mixins([[\"major_label_\",d.Text],[\"title_\",d.Text],[\"major_tick_\",d.Line],[\"minor_tick_\",d.Line],[\"border_\",d.Line],[\"bar_\",d.Line],[\"background_\",d.Fill]]),this.define({location:[c.Any,\"top_right\"],orientation:[c.Orientation,\"vertical\"],title:[c.String],title_standoff:[c.Number,2],width:[c.Any,\"auto\"],height:[c.Any,\"auto\"],scale_alpha:[c.Number,1],ticker:[c.Instance,()=>new s.BasicTicker],formatter:[c.Instance,()=>new r.BasicTickFormatter],major_label_overrides:[c.Any,{}],color_mapper:[c.Instance],label_standoff:[c.Number,5],margin:[c.Number,30],padding:[c.Number,10],major_tick_in:[c.Number,5],major_tick_out:[c.Number,0],minor_tick_in:[c.Number,0],minor_tick_out:[c.Number,0]}),this.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_align:\"center\",major_label_text_baseline:\"middle\",major_label_text_font_size:\"11px\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"13px\",title_text_font_style:\"italic\"})}}i.ColorBar=w,w.__name__=\"ColorBar\",w.init_ColorBar()},\n", + " function _(e,c,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(127);class r extends i.AdaptiveTicker{constructor(e){super(e)}}s.BasicTicker=r,r.__name__=\"BasicTicker\"},\n", + " function _(t,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const a=t(1),s=t(128),n=t(9),r=a.__importStar(t(18));class _ extends s.ContinuousTicker{constructor(t){super(t)}static init_AdaptiveTicker(){this.define({base:[r.Number,10],mantissas:[r.Array,[1,2,5]],min_interval:[r.Number,0],max_interval:[r.Number]})}initialize(){super.initialize();const t=n.nth(this.mantissas,-1)/this.base,i=n.nth(this.mantissas,0)*this.base;this.extended_mantissas=[t,...this.mantissas,i],this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()}get_interval(t,i,e){const a=i-t,s=this.get_ideal_interval(t,i,e),r=Math.floor(function(t,i=Math.E){return Math.log(t)/Math.log(i)}(s/this.base_factor,this.base)),_=this.base**r*this.base_factor,h=this.extended_mantissas,m=h.map(t=>Math.abs(e-a/(t*_))),o=h[n.argmin(m)];return c=o*_,l=this.get_min_interval(),u=this.get_max_interval(),Math.max(l,Math.min(u,c));var c,l,u}}e.AdaptiveTicker=_,_.__name__=\"AdaptiveTicker\",_.init_AdaptiveTicker()},\n", + " function _(t,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(1),r=t(129),s=n.__importStar(t(18)),o=t(9);class _ extends r.Ticker{constructor(t){super(t)}static init_ContinuousTicker(){this.define({num_minor_ticks:[s.Number,5],desired_num_ticks:[s.Number,6]})}get_ticks(t,i,e,n,r){return this.get_ticks_no_defaults(t,i,n,this.desired_num_ticks)}get_ticks_no_defaults(t,i,e,n){const r=this.get_interval(t,i,n),s=Math.floor(t/r),_=Math.ceil(i/r);let c;c=isFinite(s)&&isFinite(_)?o.range(s,_+1):[];const u=c.map(t=>t*r).filter(e=>t<=e&&e<=i),a=this.num_minor_ticks,l=[];if(a>0&&u.length>0){const e=r/a,n=o.range(0,a).map(t=>t*e);for(const e of n.slice(1)){const n=u[0]-e;t<=n&&n<=i&&l.push(n)}for(const e of u)for(const r of n){const n=e+r;t<=n&&n<=i&&l.push(n)}}return{major:u,minor:l}}get_min_interval(){return this.min_interval}get_max_interval(){return null!=this.max_interval?this.max_interval:1/0}get_ideal_interval(t,i,e){return(i-t)/e}}e.ContinuousTicker=_,_.__name__=\"ContinuousTicker\",_.init_ContinuousTicker()},\n", + " function _(e,c,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(81);class r extends o.Model{constructor(e){super(e)}}n.Ticker=r,r.__name__=\"Ticker\"},\n", + " function _(i,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=i(1),s=i(131),n=r.__importStar(i(18));class o extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}static init_BasicTickFormatter(){this.define({precision:[n.Any,\"auto\"],use_scientific:[n.Boolean,!0],power_limit_high:[n.Number,5],power_limit_low:[n.Number,-3]})}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}_need_sci(i){if(!this.use_scientific)return!1;const{scientific_limit_high:t}=this,{scientific_limit_low:e}=this,r=i.length<2?0:Math.abs(i[1]-i[0])/1e4;for(const s of i){const i=Math.abs(s);if(!(i<=r)&&(i>=t||i<=e))return!0}return!1}_format_with_precision(i,t,e){const r=new Array(i.length);if(t)for(let t=0,s=i.length;t=1;r?s++:s--){if(t){e[0]=i[0].toExponential(s);for(let t=1;tu(e,d))),s=g<0||g>=t.length?r:t[g],c[_]=s}}},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const n=t(1),o=t(136),_=n.__importStar(t(18)),i=t(8),l=t(22),c=t(32);function a(t){return i.isNumber(t)?t:(\"#\"!=t[0]&&(t=l.color2hex(t)),9!=t.length&&(t+=\"ff\"),parseInt(t.slice(1),16))}function s(t){const e=new Uint32Array(t.length);for(let r=0,n=t.length;rt)),e}get rgba_mapper(){const t=this,e=s(this.palette),r=this._colors(a);return{v_compute(n){const o=new Uint32Array(n.length);return t._v_compute(n,o,e,r),p(o)}}}_colors(t){return{nan_color:t(this.nan_color)}}}r.ColorMapper=u,u.__name__=\"ColorMapper\",u.init_ColorMapper()},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(137);class s extends o.Transform{constructor(e){super(e)}compute(e){throw new Error(\"mapping single values is not supported\")}}n.Mapper=s,s.__name__=\"Mapper\"},\n", + " function _(e,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(81);class s extends r.Model{constructor(e){super(e)}}o.Transform=s,s.__name__=\"Transform\"},\n", + " function _(r,e,a){Object.defineProperty(a,\"__esModule\",{value:!0});const t=r(1),s=r(134),i=r(136),c=t.__importStar(r(18));class n extends i.Mapper{constructor(r){super(r)}static init_CategoricalMarkerMapper(){this.define({factors:[c.Array],markers:[c.Array],start:[c.Number,0],end:[c.Number],default_value:[c.MarkerType,\"circle\"]})}v_compute(r){const e=new Array(r.length);return s.cat_v_compute(r,this.factors,this.markers,e,this.start,this.end,this.default_value),e}}a.CategoricalMarkerMapper=n,n.__name__=\"CategoricalMarkerMapper\",n.init_CategoricalMarkerMapper()},\n", + " function _(t,e,a){Object.defineProperty(a,\"__esModule\",{value:!0});const r=t(1),n=t(134),s=t(136),i=r.__importStar(t(18));class c extends s.Mapper{constructor(t){super(t)}static init_CategoricalPatternMapper(){this.define({factors:[i.Array],patterns:[i.Array],start:[i.Number,0],end:[i.Number],default_value:[i.HatchPatternType,\" \"]})}v_compute(t){const e=new Array(t.length);return n.cat_v_compute(t,this.factors,this.patterns,e,this.start,this.end,this.default_value),e}}a.CategoricalPatternMapper=c,c.__name__=\"CategoricalPatternMapper\",c.init_CategoricalPatternMapper()},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(135),s=t(90),l=t(9),i=t(8);class c extends n.ColorMapper{constructor(t){super(t),this._scan_data=null}static init_ContinuousColorMapper(){this.define(({Number:t,String:o,Null:e,Ref:n,Color:l,Or:i,Tuple:c,Array:a})=>({high:[i(t,e),null],low:[i(t,e),null],high_color:[i(l,e),null],low_color:[i(l,e),null],domain:[a(c(n(s.GlyphRenderer),i(o,a(o)))),[]]}))}connect_signals(){super.connect_signals();const t=()=>{for(const[t]of this.domain)this.connect(t.view.change,()=>this.update_data()),this.connect(t.data_source.selected.change,()=>this.update_data())};this.connect(this.properties.domain.change,()=>t()),t()}update_data(){const{domain:t,palette:o}=this,e=[...this._collect(t)];this._scan_data=this.scan(e,o.length),this.change.emit()}get metrics(){return null==this._scan_data&&this.update_data(),this._scan_data}*_collect(t){for(const[o,e]of t)for(const t of i.isArray(e)?e:[e]){let e=o.data_source.get_column(t);e=o.view.indices.select(e);const n=o.view.masked,s=o.data_source.selected.indices;let c;if(null!=n&&s.length>0?c=l.intersection([...n],s):null!=n?c=[...n]:s.length>0&&(c=s),null!=c&&(e=l.map(c,t=>e[t])),e.length>0&&!i.isNumber(e[0]))for(const t of e)yield*t;else yield*e}}_v_compute(t,o,e,n){const{nan_color:s}=n;let{low_color:i,high_color:c}=n;null==i&&(i=e[0]),null==c&&(c=e[e.length-1]);const{domain:a}=this,r=l.is_empty(a)?t:[...this._collect(a)];this._scan_data=this.scan(r,e.length);for(let n=0,l=t.length;na?e:r[l]}}o.LinearColorMapper=a,a.__name__=\"LinearColorMapper\"},\n", + " function _(o,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=o(140),r=o(12);class l extends e.ContinuousColorMapper{constructor(o){super(o)}scan(o,t){const n=null!=this.low?this.low:r.min(o),e=null!=this.high?this.high:r.max(o);return{max:e,min:n,scale:t/(Math.log(e)-Math.log(n))}}cmap(o,t,n,e,r){const l=t.length-1;if(o>r.max)return e;if(o==r.max)return t[l];if(ol&&(s=l),t[s]}}n.LogColorMapper=l,l.__name__=\"LogColorMapper\"},\n", + " function _(n,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=n(140),o=n(12);class t extends i.ContinuousColorMapper{constructor(n){super(n)}cmap(n,e,r,i,t){if(nt.binning[t.binning.length-1])return i;return e[o.left_edge_index(n,t.binning)]}}r.ScanningColorMapper=t,t.__name__=\"ScanningColorMapper\"},\n", + " function _(n,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=n(1),o=n(143),r=n(12),s=n(9),a=i.__importStar(n(18)),l=n(19);class p extends o.ScanningColorMapper{constructor(n){super(n)}static init_EqHistColorMapper(){this.define({bins:[a.Int,65536]})}scan(n,t){const e=null!=this.low?this.low:r.min(n),i=null!=this.high?this.high:r.max(n),o=this.bins,a=s.linspace(e,i,o+1),p=r.bin_counts(n,a),c=new Array(o);for(let n=0,t=a.length;nn/u);let m=t-1,_=[],M=0,f=2*t;for(;m!=t&&M<4&&0!=m;){const n=f/m;if(n>1e3)break;f=Math.round(Math.max(t*n,t));const e=s.range(0,f),i=r.map(g,n=>n*(f-1));_=r.interpolate(e,i,c);m=s.uniq(_).length-1,M++}if(0==m){_=[e,i];for(let n=0;nthis._sorted_dirty=!0)}v_compute(t){const e=new i.NumberArray(t.length);for(let r=0;rs*(e[t]-e[r])),this._x_sorted=new i.NumberArray(n),this._y_sorted=new i.NumberArray(n);for(let t=0;tthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(t==this._x_sorted[0])return this._y_sorted[0];const s=_.find_last_index(this._x_sorted,s=>sthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case\"after\":e=i.find_last_index(this._x_sorted,e=>t>=e);break;case\"before\":e=i.find_index(this._x_sorted,e=>t<=e);break;case\"center\":{const r=this._x_sorted.map(e=>Math.abs(e-t)),s=i.min(r);e=i.find_index(r,t=>s===t);break}default:throw new Error(\"unknown mode: \"+this.mode)}return-1!=e?this._y_sorted[e]:NaN}}r.StepInterpolator=n,n.__name__=\"StepInterpolator\",n.init_StepInterpolator()},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=e(1),a=e(147),i=e(24),s=e(9),o=e(12),c=r.__importStar(e(18));class _ extends a.Scale{constructor(e){super(e)}static init_LinearInterpolationScale(){this.internal({binning:[c.Array]})}compute(e){return e}v_compute(e){const t=o.norm(e,this.source_range.start,this.source_range.end),n=s.linspace(0,1,this.binning.length),r=o.interpolate(t,n,this.binning),a=o.norm(r,this.source_range.start,this.source_range.end),c=this.target_range.end-this.target_range.start,_=o.map(a,e=>this.target_range.start+e*c);return new i.NumberArray(_)}invert(e){return e}v_invert(e){return new i.NumberArray(e)}}n.LinearInterpolationScale=_,_.__name__=\"LinearInterpolationScale\",_.init_LinearInterpolationScale()},\n", + " function _(t,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const a=t(146),r=t(24);class s extends a.ContinuousScale{constructor(t){super(t)}compute(t){const[e,o,a,r]=this._compute_state();let s;if(0==a)s=0;else{const n=(Math.log(t)-r)/a;s=isFinite(n)?n*e+o:NaN}return s}v_compute(t){const[e,o,a,s]=this._compute_state(),n=new r.NumberArray(t.length);if(0==a)for(let e=0;ethis.render()):this.connect(this.model.change,()=>this.plot_view.request_render())}render(){this.model.visible||\"css\"!=this.model.render_mode||a.undisplay(this.el),super.render()}_calculate_text_dimensions(e,t){const{width:s}=e.measureText(t),{height:i}=o.measure_font(this.visuals.text.font_value());return[s,i]}_calculate_bounding_box_dimensions(e,t){const[s,i]=this._calculate_text_dimensions(e,t);let l,a;switch(e.textAlign){case\"left\":l=0;break;case\"center\":l=-s/2;break;case\"right\":l=-s;break;default:r.unreachable()}switch(e.textBaseline){case\"top\":a=0;break;case\"middle\":a=-.5*i;break;case\"bottom\":a=-1*i;break;case\"alphabetic\":a=-.8*i;break;case\"hanging\":a=-.17*i;break;case\"ideographic\":a=-.83*i;break;default:r.unreachable()}return[l,a,s,i]}_canvas_text(e,t,s,i,l){this.visuals.text.set_value(e);const a=this._calculate_bounding_box_dimensions(e,t);e.save(),e.beginPath(),e.translate(s,i),l&&e.rotate(l),e.rect(a[0],a[1],a[2],a[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),e.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(e),e.fillText(t,0,0)),e.restore()}_css_text(e,t,s,i,l){const{el:n}=this;r.assert(null!=n),a.undisplay(n),this.visuals.text.set_value(e);const o=this._calculate_bounding_box_dimensions(e,t),_=this.visuals.border_line.line_dash.value().length<2?\"solid\":\"dashed\";this.visuals.border_line.set_value(e),this.visuals.background_fill.set_value(e),n.style.position=\"absolute\",n.style.left=s+o[0]+\"px\",n.style.top=i+o[1]+\"px\",n.style.color=\"\"+this.visuals.text.text_color.value(),n.style.opacity=\"\"+this.visuals.text.text_alpha.value(),n.style.font=\"\"+this.visuals.text.font_value(),n.style.lineHeight=\"normal\",l&&(n.style.transform=`rotate(${l}rad)`),this.visuals.background_fill.doit&&(n.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(n.style.borderStyle=\"\"+_,n.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",n.style.borderColor=\"\"+this.visuals.border_line.color_value()),n.textContent=t,a.display(n)}}s.TextAnnotationView=_,_.__name__=\"TextAnnotationView\";class u extends l.Annotation{constructor(e){super(e)}static init_TextAnnotation(){this.define({render_mode:[n.RenderMode,\"canvas\"]})}}s.TextAnnotation=u,u.__name__=\"TextAnnotation\",u.init_TextAnnotation()},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),o=t(161),l=t(85),a=i.__importStar(t(28)),n=t(72),r=i.__importStar(t(18));class _ extends o.TextAnnotationView{initialize(){if(super.initialize(),this.set_data(this.model.source),\"css\"==this.model.render_mode)for(let t=0,e=this._text.length;t{this.set_data(this.model.source),this.render()}),this.connect(this.model.source.streaming,()=>{this.set_data(this.model.source),this.render()}),this.connect(this.model.source.patching,()=>{this.set_data(this.model.source),this.render()}),this.connect(this.model.source.change,()=>{this.set_data(this.model.source),this.render()})):(this.connect(this.model.change,()=>{this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.streaming,()=>{this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.patching,()=>{this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.change,()=>{this.set_data(this.model.source),this.plot_view.request_render()}))}set_data(t){super.set_data(t),this.visuals.warm_cache(t)}_map_data(){const t=this.coordinates.x_scale,e=this.coordinates.y_scale,s=null!=this.panel?this.panel:this.plot_view.frame;return[\"data\"==this.model.x_units?t.v_compute(this._x):s.xview.v_compute(this._x),\"data\"==this.model.y_units?e.v_compute(this._y):s.yview.v_compute(this._y)]}_render(){const t=\"canvas\"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),{ctx:e}=this.layer,[s,i]=this._map_data();for(let o=0,l=this._text.length;onew l.ColumnDataSource]}),this.override({background_fill_color:null,border_line_color:null})}}s.LabelSet=h,h.__name__=\"LabelSet\",h.init_LabelSet()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),l=t(36),n=s.__importStar(t(28)),h=s.__importStar(t(18)),a=t(15),_=t(159),o=t(79),r=t(9),d=t(8),c=t(11);class g extends l.AnnotationView{cursor(t,e){return\"none\"==this.model.click_policy?null:\"pointer\"}get legend_padding(){return null!=this.visuals.border_line.line_color.value()?this.model.padding:0}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_render()),this.connect(this.model.item_change,()=>this.plot_view.request_render())}compute_legend_bbox(){const t=this.model.get_legend_names(),{glyph_height:e,glyph_width:i}=this.model,{label_height:s,label_width:l}=this.model;this.max_label_height=r.max([_.measure_font(this.visuals.label_text.font_value()).height,s,e]);const{ctx:n}=this.layer;n.save(),this.visuals.label_text.set_value(n),this.text_widths=new Map;for(const e of t)this.text_widths.set(e,r.max([n.measureText(e).width,l]));this.visuals.title_text.set_value(n),this.title_height=this.model.title?_.measure_font(this.visuals.title_text.font_value()).height+this.model.title_standoff:0,this.title_width=this.model.title?n.measureText(this.model.title).width:0,n.restore();const h=Math.max(r.max([...this.text_widths.values()]),0),a=this.model.margin,{legend_padding:g}=this,m=this.model.spacing,{label_standoff:b}=this.model;let u,f;if(\"vertical\"==this.model.orientation)u=t.length*this.max_label_height+Math.max(t.length-1,0)*m+2*g+this.title_height,f=r.max([h+i+b+2*g,this.title_width+2*g]);else{let e=2*g+Math.max(t.length-1,0)*m;for(const[,t]of this.text_widths)e+=r.max([t,l])+i+b;f=r.max([this.title_width+2*g,e]),u=this.max_label_height+this.title_height+2*g}const x=null!=this.panel?this.panel:this.plot_view.frame,[p,w]=x.bbox.ranges,{location:v}=this.model;let y,k;if(d.isString(v))switch(v){case\"top_left\":y=p.start+a,k=w.start+a;break;case\"top_center\":y=(p.end+p.start)/2-f/2,k=w.start+a;break;case\"top_right\":y=p.end-a-f,k=w.start+a;break;case\"bottom_right\":y=p.end-a-f,k=w.end-a-u;break;case\"bottom_center\":y=(p.end+p.start)/2-f/2,k=w.end-a-u;break;case\"bottom_left\":y=p.start+a,k=w.end-a-u;break;case\"center_left\":y=p.start+a,k=(w.end+w.start)/2-u/2;break;case\"center\":y=(p.end+p.start)/2-f/2,k=(w.end+w.start)/2-u/2;break;case\"center_right\":y=p.end-a-f,k=(w.end+w.start)/2-u/2}else if(d.isArray(v)&&2==v.length){const[t,e]=v;y=x.xview.compute(t),k=x.yview.compute(e)-u}else c.unreachable();return new o.BBox({left:y,top:k,width:f,height:u})}interactive_bbox(){return this.compute_legend_bbox()}interactive_hit(t,e){return this.interactive_bbox().contains(t,e)}on_hit(t,e){let i;const{glyph_width:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let a=i=l;const _=this.compute_legend_bbox(),r=\"vertical\"==this.model.orientation;for(const d of this.model.items){const c=d.get_labels_list_from_label_prop();for(const g of c){const c=_.x+a,m=_.y+i+this.title_height;let b,u;[b,u]=r?[_.width-2*l,this.max_label_height]:[this.text_widths.get(g)+s+h,this.max_label_height];if(new o.BBox({left:c,top:m,width:b,height:u}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(const t of d.renderers)t.visible=!t.visible;break;case\"mute\":for(const t of d.renderers)t.muted=!t.muted}return!0}r?i+=this.max_label_height+n:a+=this.text_widths.get(g)+s+h+n}}return!1}_render(){if(0==this.model.items.length)return;for(const t of this.model.items)t.legend=this.model;const{ctx:t}=this.layer,e=this.compute_legend_bbox();t.save(),this._draw_legend_box(t,e),this._draw_legend_items(t,e),this.model.title&&this._draw_title(t,e),t.restore()}_draw_legend_box(t,e){t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.set_value(t),t.fill(),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke())}_draw_legend_items(t,e){const{glyph_width:i,glyph_height:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let a=l,_=l;const o=\"vertical\"==this.model.orientation;for(const d of this.model.items){const c=d.get_labels_list_from_label_prop(),g=d.get_field_from_label_prop();if(0==c.length)continue;const m=(()=>{switch(this.model.click_policy){case\"none\":return!0;case\"hide\":return r.every(d.renderers,t=>t.visible);case\"mute\":return r.every(d.renderers,t=>!t.muted)}})();for(const r of c){const c=e.x+a,b=e.y+_+this.title_height,u=c+i,f=b+s;o?_+=this.max_label_height+n:a+=this.text_widths.get(r)+i+h+n,this.visuals.label_text.set_value(t),t.fillText(r,u+h,b+this.max_label_height/2);for(const e of d.renderers){this.plot_view.renderer_views.get(e).draw_legend(t,c,u,b,f,g,r,d.index)}if(!m){let s,n;[s,n]=o?[e.width-2*l,this.max_label_height]:[this.text_widths.get(r)+i+h,this.max_label_height],t.beginPath(),t.rect(c,b,s,n),this.visuals.inactive_fill.set_value(t),t.fill()}}}}_draw_title(t,e){this.visuals.title_text.doit&&(t.save(),t.translate(e.x0,e.y0+this.title_height),this.visuals.title_text.set_value(t),t.fillText(this.model.title,this.legend_padding,this.legend_padding-this.model.title_standoff),t.restore())}_get_size(){const{width:t,height:e}=this.compute_legend_bbox();return{width:t+2*this.model.margin,height:e+2*this.model.margin}}}i.LegendView=g,g.__name__=\"LegendView\";class m extends l.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new a.Signal0(this,\"item_change\")}static init_Legend(){this.prototype.default_view=g,this.mixins([[\"label_\",n.Text],[\"title_\",n.Text],[\"inactive_\",n.Fill],[\"border_\",n.Line],[\"background_\",n.Fill]]),this.define({orientation:[h.Orientation,\"vertical\"],location:[h.Any,\"top_right\"],title:[h.String],title_standoff:[h.Number,5],label_standoff:[h.Number,5],glyph_height:[h.Number,20],glyph_width:[h.Number,20],label_height:[h.Number,20],label_width:[h.Number,20],margin:[h.Number,10],padding:[h.Number,10],spacing:[h.Number,3],items:[h.Array,[]],click_policy:[h.Any,\"none\"]}),this.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"13px\",label_text_baseline:\"middle\",title_text_font_size:\"13px\",title_text_font_style:\"italic\"})}get_legend_names(){const t=[];for(const e of this.items){const i=e.get_labels_list_from_label_prop();t.push(...i)}return t}}i.Legend=m,m.__name__=\"Legend\",m.init_Legend()},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(1),l=e(81),i=e(86),s=e(165),o=t.__importStar(e(18)),_=e(19),a=e(9);class u extends l.Model{constructor(e){super(e)}static init_LegendItem(){this.define({label:[o.StringSpec,null],renderers:[o.Array,[]],index:[o.Number,null]})}_check_data_sources_on_renderers(){if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;const e=this.renderers[0].data_source;if(null!=e)for(const r of this.renderers)if(r.data_source!=e)return!1}return!0}_check_field_label_on_data_source(){const e=this.get_field_from_label_prop();if(null!=e){if(this.renderers.length<1)return!1;const r=this.renderers[0].data_source;if(null!=r&&!a.includes(r.columns(),e))return!1}return!0}initialize(){super.initialize(),this.legend=null,this.connect(this.change,()=>{var e;return null===(e=this.legend)||void 0===e?void 0:e.item_change.emit()});this._check_data_sources_on_renderers()||_.logger.error(\"Non matching data sources on legend item renderers\");this._check_field_label_on_data_source()||_.logger.error(\"Bad column name on label: \"+this.label)}get_field_from_label_prop(){const{label:e}=this;return s.isField(e)?e.field:null}get_labels_list_from_label_prop(){if(s.isValue(this.label)){const{value:e}=this.label;return null!=e?[e]:[]}const e=this.get_field_from_label_prop();if(null!=e){let r;if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if(r=this.renderers[0].data_source,r instanceof i.ColumnarDataSource){const n=r.get_column(e);return null!=n?a.uniq(Array.from(n)):[\"Invalid field\"]}}return[]}}n.LegendItem=u,u.__name__=\"LegendItem\",u.init_LegendItem()},\n", + " function _(e,i,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(8);n.isValue=function(e){return t.isPlainObject(e)&&\"value\"in e},n.isField=function(e){return t.isPlainObject(e)&&\"field\"in e}},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),s=t(36),o=n.__importStar(t(28)),l=t(15),a=n.__importStar(t(18));class r extends s.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_render()),this.connect(this.model.data_update,()=>this.plot_view.request_render())}_render(){const{xs:t,ys:e}=this.model;if(t.length!=e.length)return;if(t.length<3||e.length<3)return;const{frame:i}=this.plot_view,{ctx:n}=this.layer;for(let s=0,o=t.length;sthis.plot_view.request_render())}_render(){const e=this.model.gradient,t=this.model.y_intercept;if(null==e||null==t)return;const{frame:i}=this.plot_view,n=this.coordinates.x_scale,o=this.coordinates.y_scale,s=i.bbox.top,l=s+i.bbox.height,r=(o.invert(s)-t)/e,_=(o.invert(l)-t)/e,a=n.compute(r),c=n.compute(_),{ctx:p}=this.layer;p.save(),p.beginPath(),this.visuals.line.set_value(p),p.moveTo(a,s),p.lineTo(c,l),p.stroke(),p.restore()}}i.SlopeView=r,r.__name__=\"SlopeView\";class _ extends o.Annotation{constructor(e){super(e)}static init_Slope(){this.prototype.default_view=r,this.mixins(s.Line),this.define({gradient:[l.Number,null],y_intercept:[l.Number,null]}),this.override({line_color:\"black\"})}}i.Slope=_,_.__name__=\"Slope\",_.init_Slope()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),o=e(36),s=n.__importStar(e(28)),a=n.__importStar(e(18));class l extends o.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_paint(this))}_render(){const{location:e}=this.model;if(null==e)return;const{frame:t}=this.plot_view,i=this.coordinates.x_scale,n=this.coordinates.y_scale,o=(t,i)=>\"data\"==this.model.location_units?t.compute(e):this.model.for_hover?e:i.compute(e);let s,a,l,r;\"width\"==this.model.dimension?(l=o(n,t.yview),a=t.bbox.left,r=t.bbox.width,s=this.model.properties.line_width.value()):(l=t.bbox.top,a=o(i,t.xview),r=this.model.properties.line_width.value(),s=t.bbox.height);const{ctx:_}=this.layer;_.save(),_.beginPath(),this.visuals.line.set_value(_),_.moveTo(a,l),\"width\"==this.model.dimension?_.lineTo(a+r,l):_.lineTo(a,l+s),_.stroke(),_.restore()}}i.SpanView=l,l.__name__=\"SpanView\";class r extends o.Annotation{constructor(e){super(e)}static init_Span(){this.prototype.default_view=l,this.mixins(s.Line),this.define({render_mode:[a.RenderMode,\"canvas\"],location:[a.Number,null],location_units:[a.SpatialUnits,\"data\"],dimension:[a.Dimension,\"width\"]}),this.override({line_color:\"black\"}),this.internal({for_hover:[a.Boolean,!1]})}}i.Span=r,r.__name__=\"Span\",r.init_Span()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const l=t(1),s=t(161),a=t(74),n=l.__importStar(t(28)),o=l.__importStar(t(18));class r extends s.TextAnnotationView{initialize(){super.initialize(),this.visuals.text=new a.Text(this.model)}_get_location(){const t=this.panel,e=this.model.offset;let i,l;const{bbox:s}=t;switch(t.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":l=s.top+5;break;case\"middle\":l=s.vcenter;break;case\"bottom\":l=s.bottom-5}switch(this.model.align){case\"left\":i=s.left+e;break;case\"center\":i=s.hcenter;break;case\"right\":i=s.right-e}break;case\"left\":switch(this.model.vertical_align){case\"top\":i=s.left-5;break;case\"middle\":i=s.hcenter;break;case\"bottom\":i=s.right+5}switch(this.model.align){case\"left\":l=s.bottom-e;break;case\"center\":l=s.vcenter;break;case\"right\":l=s.top+e}break;case\"right\":switch(this.model.vertical_align){case\"top\":i=s.right-5;break;case\"middle\":i=s.hcenter;break;case\"bottom\":i=s.left+5}switch(this.model.align){case\"left\":l=s.top+e;break;case\"center\":l=s.vcenter;break;case\"right\":l=s.bottom-e}}return[i,l]}_render(){const{text:t}=this.model;if(null==t||0==t.length)return;this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align;const[e,i]=this._get_location(),l=this.panel.get_label_angle_heuristic(\"parallel\");(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.layer.ctx,t,e,i,l)}_get_size(){const{text:t}=this.model;if(null==t||0==t.length)return{width:0,height:0};{this.visuals.text.set_value(this.layer.ctx);const{width:e,ascent:i}=this.layer.ctx.measureText(t);return{width:e,height:i*this.visuals.text.text_line_height.value()+10}}}}i.TitleView=r,r.__name__=\"TitleView\";class c extends s.TextAnnotation{constructor(t){super(t)}static init_Title(){this.prototype.default_view=r,this.mixins([[\"border_\",n.Line],[\"background_\",n.Fill]]),this.define({text:[o.String],text_font:[o.Font,\"helvetica\"],text_font_size:[o.StringSpec,\"13px\"],text_font_style:[o.FontStyle,\"bold\"],text_color:[o.ColorSpec,\"#444444\"],text_alpha:[o.NumberSpec,1],text_line_height:[o.Number,1],vertical_align:[o.VerticalAlign,\"bottom\"],align:[o.TextAlign,\"left\"],offset:[o.Number,0]}),this.override({background_fill_color:null,border_line_color:null}),this.internal({text_align:[o.TextAlign,\"left\"],text_baseline:[o.TextBaseline,\"bottom\"]})}}i.Title=c,c.__name__=\"Title\",c.init_Title()},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(1),l=e(36),s=e(115),a=e(72),n=e(79),r=o.__importStar(e(18));class _ extends l.AnnotationView{constructor(){super(...arguments),this.rotate=!0,this._invalidate_toolbar=!0,this._previous_bbox=new n.BBox}initialize(){super.initialize(),this.el=a.div(),this.plot_view.canvas_view.add_event(this.el)}async lazy_initialize(){this._toolbar_view=await s.build_view(this.model.toolbar,{parent:this}),this.plot_view.visibility_callbacks.push(e=>this._toolbar_view.set_visibility(e))}remove(){this._toolbar_view.remove(),a.remove(this.el),super.remove()}render(){this.model.visible||a.undisplay(this.el),super.render()}_render(){const{bbox:e}=this.panel;this._previous_bbox.equals(e)||(a.position(this.el,e),this._previous_bbox=e),this._invalidate_toolbar&&(this.el.style.position=\"absolute\",this.el.style.overflow=\"hidden\",this._toolbar_view.render(),a.empty(this.el),this.el.appendChild(this._toolbar_view.el),this._invalidate_toolbar=!1),a.display(this.el)}_get_size(){const{tools:e,logo:i}=this.model.toolbar;return{width:30*e.length+(null!=i?25:0),height:30}}}t.ToolbarPanelView=_,_.__name__=\"ToolbarPanelView\";class h extends l.Annotation{constructor(e){super(e)}static init_ToolbarPanel(){this.prototype.default_view=_,this.define({toolbar:[r.Instance]})}}t.ToolbarPanel=h,h.__name__=\"ToolbarPanel\",h.init_ToolbarPanel()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),l=t(36),o=t(72),n=s.__importStar(t(18)),a=t(172),h=t(173),r=s.__importDefault(t(174));class c extends l.AnnotationView{initialize(){super.initialize(),this.el=o.div({class:a.bk_tooltip}),o.undisplay(this.el),this.plot_view.canvas_view.add_overlay(this.el)}remove(){o.remove(this.el),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.content.change,()=>this.render()),this.connect(this.model.properties.position.change,()=>this._reposition())}styles(){return[...super.styles(),r.default]}render(){this.model.visible||o.undisplay(this.el),super.render()}_render(){const{content:t}=this.model;null!=t?(o.empty(this.el),o.classes(this.el).toggle(a.bk_tooltip_custom,this.model.custom),this.el.appendChild(t),this.model.show_arrow&&this.el.classList.add(a.bk_tooltip_arrow)):o.undisplay(this.el)}_reposition(){const{position:t}=this.model;if(null==t)return void o.undisplay(this.el);const[e,i]=t,s=(()=>{const t=this.parent.layout.bbox.relativize(),{attachment:s}=this.model;switch(s){case\"horizontal\":return eo.div()],custom:[n.Any]})}clear(){this.position=null}}i.Tooltip=d,d.__name__=\"Tooltip\",d.init_Tooltip()},\n", + " function _(o,t,l){Object.defineProperty(l,\"__esModule\",{value:!0}),l.bk_tooltip=\"bk-tooltip\",l.bk_tooltip_arrow=\"bk-tooltip-arrow\",l.bk_tooltip_custom=\"bk-tooltip-custom\",l.bk_tooltip_row_label=\"bk-tooltip-row-label\",l.bk_tooltip_row_value=\"bk-tooltip-row-value\",l.bk_tooltip_color_block=\"bk-tooltip-color-block\"},\n", + " function _(e,b,k){Object.defineProperty(k,\"__esModule\",{value:!0}),k.bk_active=\"bk-active\",k.bk_inline=\"bk-inline\",k.bk_left=\"bk-left\",k.bk_right=\"bk-right\",k.bk_above=\"bk-above\",k.bk_below=\"bk-below\",k.bk_up=\"bk-up\",k.bk_down=\"bk-down\",k.bk_side=function(e){switch(e){case\"above\":return k.bk_above;case\"below\":return k.bk_below;case\"left\":return k.bk_left;case\"right\":return k.bk_right}}},\n", + " function _(o,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root {\\n /* Same border color used everywhere */\\n /* Gray of icons */\\n}\\n.bk-root .bk-tooltip {\\n font-weight: 300;\\n font-size: 12px;\\n position: absolute;\\n padding: 5px;\\n border: 1px solid #e5e5e5;\\n color: #2f2f2f;\\n background-color: white;\\n pointer-events: none;\\n opacity: 0.95;\\n z-index: 100;\\n}\\n.bk-root .bk-tooltip > div:not(:first-child) {\\n /* gives space when multiple elements are being hovered over */\\n margin-top: 5px;\\n border-top: #e5e5e5 1px dashed;\\n}\\n.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before {\\n position: absolute;\\n margin: -7px 0 0 0;\\n top: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 7px 0 7px 0;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n left: -10px;\\n border-right-width: 10px;\\n border-right-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-left::before {\\n left: -10px;\\n border-right-width: 10px;\\n border-right-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after {\\n position: absolute;\\n margin: -7px 0 0 0;\\n top: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 7px 0 7px 0;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n right: -10px;\\n border-left-width: 10px;\\n border-left-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-right::after {\\n right: -10px;\\n border-left-width: 10px;\\n border-left-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-above::before {\\n position: absolute;\\n margin: 0 0 0 -7px;\\n left: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 0 7px 0 7px;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n top: -10px;\\n border-bottom-width: 10px;\\n border-bottom-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-below::after {\\n position: absolute;\\n margin: 0 0 0 -7px;\\n left: 50%;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 0 7px 0 7px;\\n border-color: transparent;\\n content: \" \";\\n display: block;\\n bottom: -10px;\\n border-top-width: 10px;\\n border-top-color: #909599;\\n}\\n.bk-root .bk-tooltip-row-label {\\n text-align: right;\\n color: #26aae1;\\n /* blue from toolbar highlighting */\\n}\\n.bk-root .bk-tooltip-row-value {\\n color: default;\\n /* seems to be necessary for notebook */\\n}\\n.bk-root .bk-tooltip-color-block {\\n width: 12px;\\n height: 12px;\\n margin-left: 5px;\\n margin-right: 5px;\\n outline: #dddddd solid 1px;\\n display: inline-block;\\n}\\n'},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=e(1),r=e(123),o=e(84),h=e(28),n=i.__importStar(e(18));class l extends r.UpperLowerView{connect_signals(){super.connect_signals(),this.connect(this.model.source.streaming,()=>this.set_data(this.model.source)),this.connect(this.model.source.patching,()=>this.set_data(this.model.source)),this.connect(this.model.source.change,()=>this.set_data(this.model.source))}_render(){this._map_data();const{ctx:e}=this.layer;if(this.visuals.line.doit)for(let s=0,t=this._lower_sx.length;snew o.TeeHead({level:\"underlay\",size:10})],upper_head:[n.Instance,()=>new o.TeeHead({level:\"underlay\",size:10})]}),this.override({level:\"underlay\"})}}t.Whisker=_,_.__name__=\"Whisker\",_.init_Whisker()},\n", + " function _(i,a,e){Object.defineProperty(e,\"__esModule\",{value:!0});var r=i(177);e.Axis=r.Axis;var s=i(179);e.CategoricalAxis=s.CategoricalAxis;var x=i(182);e.ContinuousAxis=x.ContinuousAxis;var A=i(183);e.DatetimeAxis=A.DatetimeAxis;var o=i(184);e.LinearAxis=o.LinearAxis;var t=i(197);e.LogAxis=t.LogAxis;var n=i(200);e.MercatorAxis=n.MercatorAxis},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),a=t(178),l=s.__importStar(t(28)),n=s.__importStar(t(18)),o=t(9),r=t(8),_=t(98),{abs:h,min:c,max:d}=Math;class m extends a.GuideRendererView{constructor(){super(...arguments),this.rotate=!0}get panel(){return this.layout}get is_renderable(){const[t,e]=this.ranges;return t.is_valid&&e.is_valid}_render(){var t;if(!this.is_renderable)return;const e={tick:this._tick_extent(),tick_label:this._tick_label_extents(),axis_label:this._axis_label_extent()},{tick_coords:i}=this,s=this.layer.ctx;s.save(),this._draw_rule(s,e),this._draw_major_ticks(s,e,i),this._draw_minor_ticks(s,e,i),this._draw_major_labels(s,e,i),this._draw_axis_label(s,e,i),null===(t=this._paint)||void 0===t||t.call(this,s,e,i),s.restore()}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.plot_view.request_layout())}get_size(){if(this.model.visible&&null==this.model.fixed_location&&this.is_renderable){const t=this._get_size();return{width:0,height:Math.round(t)}}return{width:0,height:0}}_get_size(){return this._tick_extent()+this._tick_label_extent()+this._axis_label_extent()}get needs_clip(){return null!=this.model.fixed_location}_draw_rule(t,e){if(!this.visuals.axis_line.doit)return;const[i,s]=this.rule_coords,[a,l]=this.coordinates.map_to_screen(i,s),[n,o]=this.normals,[r,_]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath(),t.moveTo(Math.round(a[0]+n*r),Math.round(l[0]+o*_));for(let e=1;ec&&(c=o)}return c>0&&(c+=s),c}get normals(){return this.panel.normals}get dimension(){return this.panel.dimension}compute_labels(t){const e=this.model.formatter.doFormat(t,this);for(let i=0;ih(n-o)?(t=d(c(a,l),n),s=c(d(a,l),o)):(t=c(a,l),s=d(a,l)),[t,s]}}get rule_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,l=[new Array(2),new Array(2)];return l[t][0]=Math.max(s,i.min),l[t][1]=Math.min(a,i.max),l[t][0]>l[t][1]&&(l[t][0]=l[t][1]=NaN),l[e][0]=this.loc,l[e][1]=this.loc,l}get tick_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,l=this.model.ticker.get_ticks(s,a,i,this.loc,{}),n=l.major,o=l.minor,r=[[],[]],_=[[],[]],[h,c]=[i.min,i.max];for(let i=0;ic||(r[t].push(n[i]),r[e].push(this.loc));for(let i=0;ic||(_[t].push(o[i]),_[e].push(this.loc));return{major:r,minor:_}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if(r.isNumber(t))return t;const[,e]=this.ranges;if(e instanceof _.FactorRange)return e.synthetic(t);throw new Error(\"unexpected\")}const[,e]=this.ranges;switch(this.panel.side){case\"left\":case\"below\":return e.start;case\"right\":case\"above\":return e.end}}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box})}}i.AxisView=m,m.__name__=\"AxisView\";class b extends a.GuideRenderer{constructor(t){super(t)}static init_Axis(){this.prototype.default_view=m,this.mixins([[\"axis_\",l.Line],[\"major_tick_\",l.Line],[\"minor_tick_\",l.Line],[\"major_label_\",l.Text],[\"axis_label_\",l.Text]]),this.define({bounds:[n.Any,\"auto\"],ticker:[n.Instance],formatter:[n.Instance],axis_label:[n.String,\"\"],axis_label_standoff:[n.Int,5],major_label_standoff:[n.Int,5],major_label_orientation:[n.Any,\"horizontal\"],major_label_overrides:[n.Any,{}],major_tick_in:[n.Number,2],major_tick_out:[n.Number,6],minor_tick_in:[n.Number,0],minor_tick_out:[n.Number,4],fixed_location:[n.Any,null]}),this.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"11px\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"13px\",axis_label_text_font_style:\"italic\"})}}i.Axis=b,b.__name__=\"Axis\",b.init_Axis()},\n", + " function _(e,r,d){Object.defineProperty(d,\"__esModule\",{value:!0});const i=e(70);class n extends i.RendererView{}d.GuideRendererView=n,n.__name__=\"GuideRendererView\";class t extends i.Renderer{constructor(e){super(e)}static init_GuideRenderer(){this.override({level:\"guide\"})}}d.GuideRenderer=t,t.__name__=\"GuideRenderer\",t.init_GuideRenderer()},\n", + " function _(t,s,o){Object.defineProperty(o,\"__esModule\",{value:!0});const e=t(1),i=t(177),r=t(180),a=t(181),l=e.__importStar(t(28)),_=e.__importStar(t(18));class n extends i.AxisView{_paint(t,s,o){this._draw_group_separators(t,s,o)}_draw_group_separators(t,s,o){const[e]=this.ranges,[i,r]=this.computed_bounds;if(!e.tops||e.tops.length<2||!this.visuals.separator_line.doit)return;const a=this.dimension,l=(a+1)%2,_=[[],[]];let n=0;for(let t=0;ti&&ht[1]),s=this.model.formatter.doFormat(t,this);a.push([s,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([i.tops,r.tops,this.model.group_label_orientation,this.visuals.group_text])}else if(3==t.levels){const t=i.major.map(t=>t[2]),s=this.model.formatter.doFormat(t,this),o=i.mids.map(t=>t[1]);a.push([s,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([o,r.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),a.push([i.tops,r.tops,this.model.group_label_orientation,this.visuals.group_text])}return a}get tick_coords(){const t=this.dimension,s=(t+1)%2,[o]=this.ranges,[e,i]=this.computed_bounds,r=this.model.ticker.get_ticks(e,i,o,this.loc,{}),a={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return a.major[t]=r.major,a.major[s]=r.major.map(t=>this.loc),3==o.levels&&(a.mids[t]=r.mids,a.mids[s]=r.mids.map(t=>this.loc)),o.levels>1&&(a.tops[t]=r.tops,a.tops[s]=r.tops.map(t=>this.loc)),a}}o.CategoricalAxisView=n,n.__name__=\"CategoricalAxisView\";class h extends i.Axis{constructor(t){super(t)}static init_CategoricalAxis(){this.prototype.default_view=n,this.mixins([[\"separator_\",l.Line],[\"group_\",l.Text],[\"subgroup_\",l.Text]]),this.define({group_label_orientation:[_.Any,\"parallel\"],subgroup_label_orientation:[_.Any,\"parallel\"]}),this.override({ticker:()=>new r.CategoricalTicker,formatter:()=>new a.CategoricalTickFormatter,separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"11px\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"11px\"})}}o.CategoricalAxis=h,h.__name__=\"CategoricalAxis\",h.init_CategoricalAxis()},\n", + " function _(t,c,e){Object.defineProperty(e,\"__esModule\",{value:!0});const o=t(129);class s extends o.Ticker{constructor(t){super(t)}get_ticks(t,c,e,o,s){return{major:this._collect(e.factors,e,t,c),minor:[],tops:this._collect(e.tops||[],e,t,c),mids:this._collect(e.mids||[],e,t,c)}}_collect(t,c,e,o){const s=[];for(const r of t){const t=c.synthetic(r);t>e&&tnew r.DatetimeTicker,formatter:()=>new a.DatetimeTickFormatter})}}i.DatetimeAxis=_,_.__name__=\"DatetimeAxis\",_.init_DatetimeAxis()},\n", + " function _(e,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=e(177),n=e(182),r=e(130),a=e(126);class _ extends t.AxisView{}s.LinearAxisView=_,_.__name__=\"LinearAxisView\";class c extends n.ContinuousAxis{constructor(e){super(e)}static init_LinearAxis(){this.prototype.default_view=_,this.override({ticker:()=>new a.BasicTicker,formatter:()=>new r.BasicTickFormatter})}}s.LinearAxis=c,c.__name__=\"LinearAxis\",c.init_LinearAxis()},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const r=t(1),i=r.__importDefault(t(186)),n=t(131),o=t(19),a=r.__importStar(t(18)),c=t(187),m=t(9),u=t(8);function h(t){return i.default(t,\"%Y %m %d %H %M %S\").split(/\\s+/).map(t=>parseInt(t,10))}function d(t,s){if(u.isFunction(s))return s(t);{const e=c.sprintf(\"$1%06d\",function(t){return Math.round(t/1e3%1*1e6)}(t));return-1==(s=s.replace(/((^|[^%])(%%)*)%f/,e)).indexOf(\"%\")?s:i.default(t,s)}}const l=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"];class _ extends n.TickFormatter{constructor(t){super(t),this.strip_leading_zeros=!0}static init_DatetimeTickFormatter(){this.define({microseconds:[a.Array,[\"%fus\"]],milliseconds:[a.Array,[\"%3Nms\",\"%S.%3Ns\"]],seconds:[a.Array,[\"%Ss\"]],minsec:[a.Array,[\":%M:%S\"]],minutes:[a.Array,[\":%M\",\"%Mm\"]],hourmin:[a.Array,[\"%H:%M\"]],hours:[a.Array,[\"%Hh\",\"%H:%M\"]],days:[a.Array,[\"%m/%d\",\"%a%d\"]],months:[a.Array,[\"%m/%Y\",\"%b %Y\"]],years:[a.Array,[\"%Y\"]]})}initialize(){super.initialize(),this._update_width_formats()}_update_width_formats(){const t=+i.default(new Date),s=function(s){const e=s.map(s=>d(t,s).length),r=m.sort_by(m.zip(e,s),([t])=>t);return m.unzip(r)};this._width_formats={microseconds:s(this.microseconds),milliseconds:s(this.milliseconds),seconds:s(this.seconds),minsec:s(this.minsec),minutes:s(this.minutes),hourmin:s(this.hourmin),hours:s(this.hours),days:s(this.days),months:s(this.months),years:s(this.years)}}_get_resolution_str(t,s){const e=1.1*t;switch(!1){case!(e<.001):return\"microseconds\";case!(e<1):return\"milliseconds\";case!(e<60):return s>=60?\"minsec\":\"seconds\";case!(e<3600):return s>=3600?\"hourmin\":\"minutes\";case!(e<86400):return\"hours\";case!(e<2678400):return\"days\";case!(e<31536e3):return\"months\";default:return\"years\"}}doFormat(t,s){if(0==t.length)return[];const e=Math.abs(t[t.length-1]-t[0])/1e3,r=e/(t.length-1),i=this._get_resolution_str(r,e),[,[n]]=this._width_formats[i],a=[],c=l.indexOf(i),m={};for(const t of l)m[t]=0;m.seconds=5,m.minsec=4,m.minutes=4,m.hourmin=3,m.hours=3;for(const s of t){let t,e;try{e=h(s),t=d(s,n)}catch(t){o.logger.warn(\"unable to format tick for timestamp value \"+s),o.logger.warn(\" - \"+t),a.push(\"ERR\");continue}let r=!1,u=c;for(;0==e[m[l[u]]];){let n;if(u+=1,u==l.length)break;if((\"minsec\"==i||\"hourmin\"==i)&&!r){if(\"minsec\"==i&&0==e[4]&&0!=e[5]||\"hourmin\"==i&&0==e[3]&&0!=e[4]){n=this._width_formats[l[c-1]][1][0],t=d(s,n);break}r=!0}n=this._width_formats[l[u]][1][0],t=d(s,n)}if(this.strip_leading_zeros){let s=t.replace(/^0+/g,\"\");s!=t&&isNaN(parseInt(s))&&(s=\"0\"+s),a.push(s)}else a.push(t)}return a}}e.DatetimeTickFormatter=_,_.__name__=\"DatetimeTickFormatter\",_.init_DatetimeTickFormatter()},\n", + " function _(e,t,n){!function(e){\"object\"==typeof t&&t.exports?t.exports=e():\"function\"==typeof define?define(e):this.tz=e()}((function(){function e(e,t,n){var r,o=t.day[1];do{r=new Date(Date.UTC(n,t.month,Math.abs(o++)))}while(t.day[0]<7&&r.getUTCDay()!=t.day[0]);return(r={clock:t.clock,sort:r.getTime(),rule:t,save:6e4*t.save,offset:e.offset})[r.clock]=r.sort+6e4*t.time,r.posix?r.wallclock=r[r.clock]+(e.offset+t.saved):r.posix=r[r.clock]-(e.offset+t.saved),r}function t(t,n,r){var o,a,u,i,l,s,c,f=t[t.zone],h=[],T=new Date(r).getUTCFullYear(),g=1;for(o=1,a=f.length;o=T-g;--c)for(o=0,a=s.length;o=h[o][n]&&h[o][h[o].clock]>u[h[o].clock]&&(i=h[o])}return i&&((l=/^(.*)\\/(.*)$/.exec(u.format))?i.abbrev=l[i.save?2:1]:i.abbrev=u.format.replace(/%s/,i.rule.letter)),i||u}function n(e,n){return\"UTC\"==e.zone?n:(e.entry=t(e,\"posix\",n),n+e.entry.offset+e.entry.save)}function r(e,n){return\"UTC\"==e.zone?n:(e.entry=r=t(e,\"wallclock\",n),0<(o=n-r.wallclock)&&o9)t+=s*l[c-10];else{if(a=new Date(n(e,t)),c<7)for(;s;)a.setUTCDate(a.getUTCDate()+i),a.getUTCDay()==c&&(s-=i);else 7==c?a.setUTCFullYear(a.getUTCFullYear()+s):8==c?a.setUTCMonth(a.getUTCMonth()+s):a.setUTCDate(a.getUTCDate()+s);null==(t=r(e,a.getTime()))&&(t=r(e,a.getTime()+864e5*i)-864e5*i)}return t}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(e,t,n,r){var o,a,u=this.entry.offset+this.entry.save,i=Math.abs(u/1e3),l=[],s=3600;for(o=0;o<3;o++)l.push((\"0\"+Math.floor(i/s)).slice(-2)),i%=s,s/=60;return\"^\"!=n||u?(\"^\"==n&&(r=3),3==r?(a=(a=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(a=a.replace(/:00$/,\"\"))):r?(a=l.slice(0,r+1).join(\":\"),\"^\"==n&&(a=a.replace(/:00$/,\"\"))):a=l.slice(0,2).join(\"\"),a=(a=(u<0?\"-\":\"+\")+a).replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(e){return\"%\"},n:function(e){return\"\\n\"},t:function(e){return\"\\t\"},U:function(e){return s(e,0)},W:function(e){return s(e,1)},V:function(e){return c(e)[0]},G:function(e){return c(e)[1]},g:function(e){return c(e)[1]%100},j:function(e){return Math.floor((e.getTime()-Date.UTC(e.getUTCFullYear(),0))/864e5)+1},s:function(e){return Math.floor(e.getTime()/1e3)},C:function(e){return Math.floor(e.getUTCFullYear()/100)},N:function(e){return e.getTime()%1e3*1e6},m:function(e){return e.getUTCMonth()+1},Y:function(e){return e.getUTCFullYear()},y:function(e){return e.getUTCFullYear()%100},H:function(e){return e.getUTCHours()},M:function(e){return e.getUTCMinutes()},S:function(e){return e.getUTCSeconds()},e:function(e){return e.getUTCDate()},d:function(e){return e.getUTCDate()},u:function(e){return e.getUTCDay()||7},w:function(e){return e.getUTCDay()},l:function(e){return e.getUTCHours()%12||12},I:function(e){return e.getUTCHours()%12||12},k:function(e){return e.getUTCHours()},Z:function(e){return this.entry.abbrev},a:function(e){return this[this.locale].day.abbrev[e.getUTCDay()]},A:function(e){return this[this.locale].day.full[e.getUTCDay()]},h:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},b:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},B:function(e){return this[this.locale].month.full[e.getUTCMonth()]},P:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)].toLowerCase()},p:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)]},R:function(e,t){return this.convert([t,\"%H:%M\"])},T:function(e,t){return this.convert([t,\"%H:%M:%S\"])},D:function(e,t){return this.convert([t,\"%m/%d/%y\"])},F:function(e,t){return this.convert([t,\"%Y-%m-%d\"])},x:function(e,t){return this.convert([t,this[this.locale].date])},r:function(e,t){return this.convert([t,this[this.locale].time12||\"%I:%M:%S\"])},X:function(e,t){return this.convert([t,this[this.locale].time24])},c:function(e,t){return this.convert([t,this[this.locale].dateTime])},convert:function(e){if(!e.length)return\"1.0.23\";var t,a,u,l,s,c=Object.create(this),f=[];for(t=0;t=o?Math.floor((n-o)/7)+1:0}function c(e){var t,n,r;return n=e.getUTCFullYear(),t=new Date(Date.UTC(n,0)).getUTCDay(),(r=s(e,1)+(t>1&&t<=4?1:0))?53!=r||4==t||3==t&&29==new Date(n,1,29).getDate()?[r,e.getUTCFullYear()]:[1,e.getUTCFullYear()+1]:(n=e.getUTCFullYear()-1,[r=4==(t=new Date(Date.UTC(n,0)).getUTCDay())||3==t&&29==new Date(n,1,29).getDate()?53:52,e.getUTCFullYear()-1])}return u=u.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,(function(e){a[e].pad=2})),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}}))},\n", + " function _(r,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=r(1),i=n.__importStar(r(188)),u=r(189),a=n.__importDefault(r(186)),f=r(29),o=r(8);function l(r,...e){return u.sprintf(r,...e)}function s(r,e,t){if(o.isNumber(r)){return l((()=>{switch(!1){case Math.floor(r)!=r:return\"%d\";case!(Math.abs(r)>.1&&Math.abs(r)<1e3):return\"%0.3f\";default:return\"%0.3e\"}})(),r)}return\"\"+r}function c(r,e,n){if(null==e)return s;if(null!=n&&r in n){const e=n[r];if(o.isString(e)){if(e in t.DEFAULT_FORMATTERS)return t.DEFAULT_FORMATTERS[e];throw new Error(`Unknown tooltip field formatter type '${e}'`)}return function(r,t,n){return e.format(r,t,n)}}return t.DEFAULT_FORMATTERS.numeral}function m(r,e,t,n){if(\"$\"==r[0]){return function(r,e){if(r in e)return e[r];throw new Error(`Unknown special variable '$${r}'`)}(r.substring(1),n)}return function(r,e,t){const n=e.get_column(r);if(null==n)return null;if(o.isNumber(t))return n[t];const i=n[t.index];if(o.isTypedArray(i)||o.isArray(i)){if(o.isArray(i[0])){return i[t.dim2][t.dim1]}return i[t.flat_index]}return i}(r.substring(1).replace(/[{}]/g,\"\"),e,t)}t.DEFAULT_FORMATTERS={numeral:(r,e,t)=>i.format(r,e),datetime:(r,e,t)=>a.default(r,e),printf:(r,e,t)=>l(e,r)},t.sprintf=l,t.basic_formatter=s,t.get_formatter=c,t.get_value=m,t.replace_placeholders=function(r,e,t,n,i={}){let u,a;if(o.isString(r)?(u=r,a=!1):(u=r.html,a=!0),u=u.replace(/@\\$name/g,r=>`@{${i.name}}`),u=u.replace(/((?:\\$\\w+)|(?:@\\w+)|(?:@{(?:[^{}]+)}))(?:{([^{}]+)})?/g,(r,u,o)=>{const l=m(u,e,t,i);if(null==l)return\"\"+f.escape(\"???\");if(\"safe\"==o)return a=!0,\"\"+l;const s=c(u,o,n);return\"\"+f.escape(s(l,o,i))}),a){return[...(new DOMParser).parseFromString(u,\"text/html\").body.childNodes]}return u}},\n", + " function _(e,n,t){\n", + " /*!\n", + " * numbro.js\n", + " * version : 1.6.2\n", + " * author : Företagsplatsen AB\n", + " * license : MIT\n", + " * http://www.foretagsplatsen.se\n", + " */\n", + " var r,i={},a=i,o=\"en-US\",l=null,u=\"0,0\";void 0!==n&&n.exports;function c(e){this._value=e}function s(e){var n,t=\"\";for(n=0;n-1?function(e,n){var t,r,i,a;return t=(a=e.toString()).split(\"e\")[0],i=a.split(\"e\")[1],a=t.split(\".\")[0]+(r=t.split(\".\")[1]||\"\")+s(i-r.length),n>0&&(a+=\".\"+s(n)),a}(e,n):(t(e*o)/o).toFixed(n),r&&(i=new RegExp(\"0{1,\"+r+\"}$\"),a=a.replace(i,\"\")),a}function d(e,n,t){return n.indexOf(\"$\")>-1?function(e,n,t){var r,a,l=n,u=l.indexOf(\"$\"),c=l.indexOf(\"(\"),s=l.indexOf(\"+\"),f=l.indexOf(\"-\"),d=\"\",p=\"\";-1===l.indexOf(\"$\")?\"infix\"===i[o].currency.position?(p=i[o].currency.symbol,i[o].currency.spaceSeparated&&(p=\" \"+p+\" \")):i[o].currency.spaceSeparated&&(d=\" \"):l.indexOf(\" $\")>-1?(d=\" \",l=l.replace(\" $\",\"\")):l.indexOf(\"$ \")>-1?(d=\" \",l=l.replace(\"$ \",\"\")):l=l.replace(\"$\",\"\");if(a=h(e,l,t,p),-1===n.indexOf(\"$\"))switch(i[o].currency.position){case\"postfix\":a.indexOf(\")\")>-1?((a=a.split(\"\")).splice(-1,0,d+i[o].currency.symbol),a=a.join(\"\")):a=a+d+i[o].currency.symbol;break;case\"infix\":break;case\"prefix\":a.indexOf(\"(\")>-1||a.indexOf(\"-\")>-1?(a=a.split(\"\"),r=Math.max(c,f)+1,a.splice(r,0,i[o].currency.symbol+d),a=a.join(\"\")):a=i[o].currency.symbol+d+a;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else u<=1?a.indexOf(\"(\")>-1||a.indexOf(\"+\")>-1||a.indexOf(\"-\")>-1?(a=a.split(\"\"),r=1,(u-1?((a=a.split(\"\")).splice(-1,0,d+i[o].currency.symbol),a=a.join(\"\")):a=a+d+i[o].currency.symbol;return a}(e,n,t):n.indexOf(\"%\")>-1?function(e,n,t){var r,i=\"\";e*=100,n.indexOf(\" %\")>-1?(i=\" \",n=n.replace(\" %\",\"\")):n=n.replace(\"%\",\"\");(r=h(e,n,t)).indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,i+\"%\"),r=r.join(\"\")):r=r+i+\"%\";return r}(e,n,t):n.indexOf(\":\")>-1?function(e){var n=Math.floor(e/60/60),t=Math.floor((e-60*n*60)/60),r=Math.round(e-60*n*60-60*t);return n+\":\"+(t<10?\"0\"+t:t)+\":\"+(r<10?\"0\"+r:r)}(e):h(e,n,t)}function h(e,n,t,r){var a,u,c,s,d,h,p,m,x,g,O,b,w,y,M,v,$,B=!1,E=!1,F=!1,k=\"\",U=!1,N=!1,S=!1,j=!1,D=!1,C=\"\",L=\"\",T=Math.abs(e),K=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],G=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],I=\"\",P=!1,R=!1;if(0===e&&null!==l)return l;if(!isFinite(e))return\"\"+e;if(0===n.indexOf(\"{\")){var W=n.indexOf(\"}\");if(-1===W)throw Error('Format should also contain a \"}\"');b=n.slice(1,W),n=n.slice(W+1)}else b=\"\";if(n.indexOf(\"}\")===n.length-1){var Y=n.indexOf(\"{\");if(-1===Y)throw Error('Format should also contain a \"{\"');w=n.slice(Y+1,-1),n=n.slice(0,Y+1)}else w=\"\";if(v=null===($=-1===n.indexOf(\".\")?n.match(/([0-9]+).*/):n.match(/([0-9]+)\\..*/))?-1:$[1].length,-1!==n.indexOf(\"-\")&&(P=!0),n.indexOf(\"(\")>-1?(B=!0,n=n.slice(1,-1)):n.indexOf(\"+\")>-1&&(E=!0,n=n.replace(/\\+/g,\"\")),n.indexOf(\"a\")>-1){if(g=n.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],g=parseInt(g[0],10),U=n.indexOf(\"aK\")>=0,N=n.indexOf(\"aM\")>=0,S=n.indexOf(\"aB\")>=0,j=n.indexOf(\"aT\")>=0,D=U||N||S||j,n.indexOf(\" a\")>-1?(k=\" \",n=n.replace(\" a\",\"\")):n=n.replace(\"a\",\"\"),p=0===(p=(d=Math.floor(Math.log(T)/Math.LN10)+1)%3)?3:p,g&&0!==T&&(h=Math.floor(Math.log(T)/Math.LN10)+1-g,m=3*~~((Math.min(g,d)-p)/3),T/=Math.pow(10,m),-1===n.indexOf(\".\")&&g>3))for(n+=\"[.]\",M=(M=0===h?0:3*~~(h/3)-h)<0?M+3:M,a=0;a=Math.pow(10,12)&&!D||j?(k+=i[o].abbreviations.trillion,e/=Math.pow(10,12)):T=Math.pow(10,9)&&!D||S?(k+=i[o].abbreviations.billion,e/=Math.pow(10,9)):T=Math.pow(10,6)&&!D||N?(k+=i[o].abbreviations.million,e/=Math.pow(10,6)):(T=Math.pow(10,3)&&!D||U)&&(k+=i[o].abbreviations.thousand,e/=Math.pow(10,3)))}if(n.indexOf(\"b\")>-1)for(n.indexOf(\" b\")>-1?(C=\" \",n=n.replace(\" b\",\"\")):n=n.replace(\"b\",\"\"),s=0;s<=K.length;s++)if(u=Math.pow(1024,s),c=Math.pow(1024,s+1),e>=u&&e0&&(e/=u);break}if(n.indexOf(\"d\")>-1)for(n.indexOf(\" d\")>-1?(C=\" \",n=n.replace(\" d\",\"\")):n=n.replace(\"d\",\"\"),s=0;s<=G.length;s++)if(u=Math.pow(1e3,s),c=Math.pow(1e3,s+1),e>=u&&e0&&(e/=u);break}if(n.indexOf(\"o\")>-1&&(n.indexOf(\" o\")>-1?(L=\" \",n=n.replace(\" o\",\"\")):n=n.replace(\"o\",\"\"),i[o].ordinal&&(L+=i[o].ordinal(e))),n.indexOf(\"[.]\")>-1&&(F=!0,n=n.replace(\"[.]\",\".\")),x=e.toString().split(\".\")[0],O=n.split(\".\")[1],y=n.indexOf(\",\"),O){if(x=(I=-1!==O.indexOf(\"*\")?f(e,e.toString().split(\".\")[1].length,t):O.indexOf(\"[\")>-1?f(e,(O=(O=O.replace(\"]\",\"\")).split(\"[\"))[0].length+O[1].length,t,O[1].length):f(e,O.length,t)).split(\".\")[0],I.split(\".\")[1].length)I=(r?k+r:i[o].delimiters.decimal)+I.split(\".\")[1];else I=\"\";F&&0===Number(I.slice(1))&&(I=\"\")}else x=f(e,null,t);return x.indexOf(\"-\")>-1&&(x=x.slice(1),R=!0),x.length-1&&(x=x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+i[o].delimiters.thousands)),0===n.indexOf(\".\")&&(x=\"\"),b+(n.indexOf(\"(\")2)&&(o.length<2?!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u):1===o[0].length?!!o[0].match(/^\\d+$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/):!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/)))))},n.exports={format:function(e,n,t,i){return null!=t&&t!==r.culture()&&r.setCulture(t),d(Number(e),null!=n?n:u,null==i?Math.round:i)}}},\n", + " function _(e,n,t){!function(){\"use strict\";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(e){return i(a(e),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}function i(t,r){var i,s,a,o,p,c,l,u,f,d=1,g=t.length,y=\"\";for(s=0;s=0),o.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o.width?parseInt(o.width):0);break;case\"e\":i=o.precision?parseFloat(i).toExponential(o.precision):parseFloat(i).toExponential();break;case\"f\":i=o.precision?parseFloat(i).toFixed(o.precision):parseFloat(i);break;case\"g\":i=o.precision?String(Number(i.toPrecision(o.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=o.precision?i.substring(0,o.precision):i;break;case\"t\":i=String(!!i),i=o.precision?i.substring(0,o.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o.precision?i.substring(0,o.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o.precision?i.substring(0,o.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}e.json.test(o.type)?y+=i:(!e.number.test(o.type)||u&&!o.sign?f=\"\":(f=u?\"+\":\"-\",i=i.toString().replace(e.sign,\"\")),c=o.pad_char?\"0\"===o.pad_char?\"0\":o.pad_char.charAt(1):\" \",l=o.width-(f+i).length,p=o.width&&l>0?c.repeat(l):\"\",y+=o.align?f+i+p:\"0\"===c?f+p+i:p+f+i)}return y}var s=Object.create(null);function a(n){if(s[n])return s[n];for(var t,r=n,i=[],a=0;r;){if(null!==(t=e.text.exec(r)))i.push(t[0]);else if(null!==(t=e.modulo.exec(r)))i.push(\"%\");else{if(null===(t=e.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(t[2]){a|=1;var o=[],p=t[2],c=[];if(null===(c=e.key.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(c[1]);\"\"!==(p=p.substring(c[0].length));)if(null!==(c=e.key_access.exec(p)))o.push(c[1]);else{if(null===(c=e.index_access.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[n]=i}void 0!==t&&(t.sprintf=n,t.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=n,window.vsprintf=r,\"function\"==typeof define&&define.amd&&define((function(){return{sprintf:n,vsprintf:r}})))}()},\n", + " function _(e,i,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(9),a=e(127),s=e(191),r=e(192),c=e(195),_=e(196),m=e(194);class k extends s.CompositeTicker{constructor(e){super(e)}static init_DatetimeTicker(){this.override({num_minor_ticks:0,tickers:()=>[new a.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*m.ONE_MILLI,num_minor_ticks:0}),new a.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:m.ONE_SECOND,max_interval:30*m.ONE_MINUTE,num_minor_ticks:0}),new a.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:m.ONE_HOUR,max_interval:12*m.ONE_HOUR,num_minor_ticks:0}),new r.DaysTicker({days:t.range(1,32)}),new r.DaysTicker({days:t.range(1,31,3)}),new r.DaysTicker({days:[1,8,15,22]}),new r.DaysTicker({days:[1,15]}),new c.MonthsTicker({months:t.range(0,12,1)}),new c.MonthsTicker({months:t.range(0,12,2)}),new c.MonthsTicker({months:t.range(0,12,4)}),new c.MonthsTicker({months:t.range(0,12,6)}),new _.YearsTicker({})]})}}n.DatetimeTicker=k,k.__name__=\"DatetimeTicker\",k.init_DatetimeTicker()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=t(1),s=t(128),n=r.__importStar(t(18)),_=t(9);class a extends s.ContinuousTicker{constructor(t){super(t)}static init_CompositeTicker(){this.define({tickers:[n.Array,[]]})}get min_intervals(){return this.tickers.map(t=>t.get_min_interval())}get max_intervals(){return this.tickers.map(t=>t.get_max_interval())}get min_interval(){return this.min_intervals[0]}get max_interval(){return this.max_intervals[0]}get_best_ticker(t,e,i){const r=e-t,s=this.get_ideal_interval(t,e,i),n=[_.sorted_index(this.min_intervals,s)-1,_.sorted_index(this.max_intervals,s)],a=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map(t=>Math.abs(i-r/t));let c;if(_.is_empty(a.filter(t=>!isNaN(t))))c=this.tickers[0];else{const t=n[_.argmin(a)];c=this.tickers[t]}return c}get_interval(t,e,i){return this.get_best_ticker(t,e,i).get_interval(t,e,i)}get_ticks_no_defaults(t,e,i,r){return this.get_best_ticker(t,e,r).get_ticks_no_defaults(t,e,i,r)}}i.CompositeTicker=a,a.__name__=\"CompositeTicker\",a.init_CompositeTicker()},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=t(1),s=t(193),a=t(194),o=i.__importStar(t(18)),r=t(9);class _ extends s.SingleIntervalTicker{constructor(t){super(t)}static init_DaysTicker(){this.define({days:[o.Array,[]]}),this.override({num_minor_ticks:0})}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*a.ONE_DAY:this.interval=31*a.ONE_DAY}get_ticks_no_defaults(t,e,n,i){const s=function(t,e){const n=a.last_month_no_later_than(new Date(t)),i=a.last_month_no_later_than(new Date(e));i.setUTCMonth(i.getUTCMonth()+1);const s=[],o=n;for(;s.push(a.copy_date(o)),o.setUTCMonth(o.getUTCMonth()+1),!(o>i););return s}(t,e),o=this.days,_=this.interval;return{major:r.concat(s.map(t=>((t,e)=>{const n=t.getUTCMonth(),i=[];for(const s of o){const o=a.copy_date(t);o.setUTCDate(s);new Date(o.getTime()+e/2).getUTCMonth()==n&&i.push(o)}return i})(t,_))).map(t=>t.getTime()).filter(n=>t<=n&&n<=e),minor:[]}}}n.DaysTicker=_,_.__name__=\"DaysTicker\",_.init_DaysTicker()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),r=e(128),l=n.__importStar(e(18));class a extends r.ContinuousTicker{constructor(e){super(e)}static init_SingleIntervalTicker(){this.define({interval:[l.Number]})}get_interval(e,t,i){return this.interval}get min_interval(){return this.interval}get max_interval(){return this.interval}}i.SingleIntervalTicker=a,a.__name__=\"SingleIntervalTicker\",a.init_SingleIntervalTicker()},\n", + " function _(t,e,n){function _(t){return new Date(t.getTime())}function O(t){const e=_(t);return e.setUTCDate(1),e.setUTCHours(0),e.setUTCMinutes(0),e.setUTCSeconds(0),e.setUTCMilliseconds(0),e}Object.defineProperty(n,\"__esModule\",{value:!0}),n.ONE_MILLI=1,n.ONE_SECOND=1e3,n.ONE_MINUTE=60*n.ONE_SECOND,n.ONE_HOUR=60*n.ONE_MINUTE,n.ONE_DAY=24*n.ONE_HOUR,n.ONE_MONTH=30*n.ONE_DAY,n.ONE_YEAR=365*n.ONE_DAY,n.copy_date=_,n.last_month_no_later_than=O,n.last_year_no_later_than=function(t){const e=O(t);return e.setUTCMonth(0),e}},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=t(1),i=t(193),s=t(194),a=r.__importStar(t(18)),o=t(9);class _ extends i.SingleIntervalTicker{constructor(t){super(t)}static init_MonthsTicker(){this.define({months:[a.Array,[]]})}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*s.ONE_MONTH:this.interval=12*s.ONE_MONTH}get_ticks_no_defaults(t,e,n,r){const i=function(t,e){const n=s.last_year_no_later_than(new Date(t)),r=s.last_year_no_later_than(new Date(e));r.setUTCFullYear(r.getUTCFullYear()+1);const i=[],a=n;for(;i.push(s.copy_date(a)),a.setUTCFullYear(a.getUTCFullYear()+1),!(a>r););return i}(t,e),a=this.months;return{major:o.concat(i.map(t=>a.map(e=>{const n=s.copy_date(t);return n.setUTCMonth(e),n}))).map(t=>t.getTime()).filter(n=>t<=n&&n<=e),minor:[]}}}n.MonthsTicker=_,_.__name__=\"MonthsTicker\",_.init_MonthsTicker()},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const i=e(126),r=e(193),n=e(194);class _ extends r.SingleIntervalTicker{constructor(e){super(e)}initialize(){super.initialize(),this.interval=n.ONE_YEAR,this.basic_ticker=new i.BasicTicker({num_minor_ticks:0})}get_ticks_no_defaults(e,t,a,i){const r=n.last_year_no_later_than(new Date(e)).getUTCFullYear(),_=n.last_year_no_later_than(new Date(t)).getUTCFullYear();return{major:this.basic_ticker.get_ticks_no_defaults(r,_,a,i).major.map(e=>Date.UTC(e,0,1)).filter(a=>e<=a&&a<=t),minor:[]}}}a.YearsTicker=_,_.__name__=\"YearsTicker\"},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(177),o=e(182),n=e(198),r=e(199);class _ extends s.AxisView{}t.LogAxisView=_,_.__name__=\"LogAxisView\";class c extends o.ContinuousAxis{constructor(e){super(e)}static init_LogAxis(){this.prototype.default_view=_,this.override({ticker:()=>new r.LogTicker,formatter:()=>new n.LogTickFormatter})}}t.LogAxis=c,c.__name__=\"LogAxis\",c.init_LogAxis()},\n", + " function _(t,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=t(1),o=t(131),a=t(130),n=i.__importStar(t(18));class c extends o.TickFormatter{constructor(t){super(t)}static init_LogTickFormatter(){this.define({ticker:[n.Instance,null]})}initialize(){super.initialize(),this.basic_formatter=new a.BasicTickFormatter}doFormat(t,e){if(0==t.length)return[];const r=null!=this.ticker?this.ticker.base:10;let i=!1;const o=new Array(t.length);for(let e=0,a=t.length;e0&&o[e]==o[e-1]){i=!0;break}return i?this.basic_formatter.doFormat(t,e):o}}r.LogTickFormatter=c,c.__name__=\"LogTickFormatter\",c.init_LogTickFormatter()},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(127),s=t(9);class n extends i.AdaptiveTicker{constructor(t){super(t)}static init_LogTicker(){this.override({mantissas:[1,5]})}get_ticks_no_defaults(t,o,e,i){const n=this.num_minor_ticks,r=[],c=this.base,a=Math.log(t)/Math.log(c),f=Math.log(o)/Math.log(c),l=f-a;let h;if(isFinite(l))if(l<2){const e=this.get_interval(t,o,i),c=Math.floor(t/e),a=Math.ceil(o/e);if(h=s.range(c,a+1).filter(t=>0!=t).map(t=>t*e).filter(e=>t<=e&&e<=o),n>0&&h.length>0){const t=e/n,o=s.range(0,n).map(o=>o*t);for(const t of o.slice(1))r.push(h[0]-t);for(const t of h)for(const e of o)r.push(t+e)}}else{const t=Math.ceil(.999999*a),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=s.range(t-1,o+1,e).map(t=>c**t),n>0&&h.length>0){const t=c**e/n,o=s.range(1,n+1).map(o=>o*t);for(const t of o)r.push(h[0]/t);r.push(h[0]);for(const t of h)for(const e of o)r.push(t*e)}}else h=[];return{major:h.filter(e=>t<=e&&e<=o),minor:r.filter(e=>t<=e&&e<=o)}}}e.LogTicker=n,n.__name__=\"LogTicker\",n.init_LogTicker()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(177),s=e(184),o=e(201),a=e(202);class c extends i.AxisView{}r.MercatorAxisView=c,c.__name__=\"MercatorAxisView\";class n extends s.LinearAxis{constructor(e){super(e)}static init_MercatorAxis(){this.prototype.default_view=c,this.override({ticker:()=>new a.MercatorTicker({dimension:\"lat\"}),formatter:()=>new o.MercatorTickFormatter({dimension:\"lat\"})})}}r.MercatorAxis=n,n.__name__=\"MercatorAxis\",n.init_MercatorAxis()},\n", + " function _(r,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const o=r(1),n=r(130),i=o.__importStar(r(18)),c=r(37);class a extends n.BasicTickFormatter{constructor(r){super(r)}static init_MercatorTickFormatter(){this.define({dimension:[i.LatLon]})}doFormat(r,t){if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0==r.length)return[];const e=r.length,o=new Array(e);if(\"lon\"==this.dimension)for(let n=0;n{const n=s.replace_placeholders(this.url,t,e);if(!r.isString(n))throw new Error(\"HTML output is not supported in this context\");this.same_tab?window.location.href=n:window.open(n)},{selected:o}=t;for(const e of o.indices)n(e);for(const e of o.line_indices)n(e)}}n.OpenURL=a,a.__name__=\"OpenURL\",a.init_OpenURL()},\n", + " function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});var n=a(77);r.Canvas=n.Canvas;var s=a(208);r.CartesianFrame=s.CartesianFrame},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const a=e(209),_=e(146),n=e(157),r=e(158),i=e(210),g=e(98),c=e(212),o=e(13),l=e(11);class h extends c.LayoutItem{constructor(e,t,s,a,_={},n={}){super(),this.in_x_scale=e,this.in_y_scale=t,this.x_range=s,this.y_range=a,this.extra_x_ranges=_,this.extra_y_ranges=n,l.assert(null==e.source_range&&null==e.target_range),l.assert(null==t.source_range&&null==t.target_range),this._configure_scales()}_get_ranges(e,t){return new Map(o.entries(Object.assign(Object.assign({},t),{default:e})))}_get_scales(e,t,s){const c=new Map;for(const[o,l]of t){if((l instanceof i.DataRange1d||l instanceof r.Range1d)&&!(e instanceof _.ContinuousScale))throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);if(l instanceof g.FactorRange&&!(e instanceof a.CategoricalScale))throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&l instanceof i.DataRange1d&&(l.scale_hint=\"log\");const t=e.clone();t.setv({source_range:l,target_range:s}),c.set(o,t)}return c}_configure_frame_ranges(){const{bbox:e}=this;this._x_target=new r.Range1d({start:e.left,end:e.right}),this._y_target=new r.Range1d({start:e.bottom,end:e.top})}_configure_scales(){this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._x_scales=this._get_scales(this.in_x_scale,this._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,this._y_ranges,this._y_target)}_update_scales(){this._configure_frame_ranges();for(const[,e]of this._x_scales)e.target_range=this._x_target;for(const[,e]of this._y_scales)e.target_range=this._y_target}_set_geometry(e,t){super._set_geometry(e,t),this._update_scales()}get x_ranges(){return this._x_ranges}get y_ranges(){return this._y_ranges}get x_scales(){return this._x_scales}get y_scales(){return this._y_scales}get x_scale(){return this._x_scales.get(\"default\")}get y_scale(){return this._y_scales.get(\"default\")}get xscales(){return o.to_object(this.x_scales)}get yscales(){return o.to_object(this.y_scales)}}s.CartesianFrame=h,h.__name__=\"CartesianFrame\"},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(147);class _ extends n.Scale{constructor(e){super(e)}compute(e){return super._linear_compute(this.source_range.synthetic(e))}v_compute(e){return super._linear_v_compute(this.source_range.v_synthetic(e))}invert(e){return this._linear_invert(e)}v_invert(e){return this._linear_v_invert(e)}}t.CategoricalScale=_,_.__name__=\"CategoricalScale\"},\n", + " function _(t,i,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=t(1),a=t(211),s=t(90),l=t(19),_=e.__importStar(t(18)),o=e.__importStar(t(79)),r=t(9);class h extends a.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}static init_DataRange1d(){this.define({start:[_.Number],end:[_.Number],range_padding:[_.Number,.1],range_padding_units:[_.PaddingUnits,\"percent\"],flipped:[_.Boolean,!1],follow:[_.StartEnd],follow_interval:[_.Number],default_span:[_.Number,2],only_visible:[_.Boolean,!1]}),this.internal({scale_hint:[_.String,\"auto\"]})}initialize(){super.initialize(),this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span,this._plot_bounds=new Map}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}computed_renderers(){const t=this.names;let i=this.renderers;if(0==i.length)for(const t of this.plots){const n=t.renderers.filter(t=>t instanceof s.GlyphRenderer);i=i.concat(n)}t.length>0&&(i=i.filter(i=>r.includes(t,i.name))),l.logger.debug(`computed ${i.length} renderers for ${this}`);for(const t of i)l.logger.trace(\" - \"+t);return i}_compute_plot_bounds(t,i){let n=o.empty();for(const e of t){const t=i.get(e);null==t||!e.visible&&this.only_visible||(n=o.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=o.empty();let e=t.x1-t.x0;e<=0&&(e=1);let a=t.y1-t.y0;a<=0&&(a=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return e_&&(\"start\"==this.follow?a=e+s*_:\"end\"==this.follow&&(e=a-s*_)),[e,a]}update(t,i,n,e){if(this.have_updated_interactively)return;const a=this.computed_renderers();let s=this._compute_plot_bounds(a,t);null!=e&&(s=this.adjust_bounds_for_aspect(s,e)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.values(),i);let[o,r]=this._compute_range(l,_);null!=this._initial_start&&(\"log\"==this.scale_hint?this._initial_start>0&&(o=this._initial_start):o=this._initial_start),null!=this._initial_end&&(\"log\"==this.scale_hint?this._initial_end>0&&(r=this._initial_end):r=this._initial_end);const[h,d]=[this.start,this.end];if(o!=h||r!=d){const t={};o!=h&&(t.start=o),r!=d&&(t.end=r),this.setv(t)}\"auto\"==this.bounds&&this.setv({bounds:[o,r]},{silent:!0}),this.change.emit()}reset(){this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()}}n.DataRange1d=h,h.__name__=\"DataRange1d\",h.init_DataRange1d()},\n", + " function _(e,a,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),r=e(99),s=n.__importStar(e(18));class _ extends r.Range{constructor(e){super(e)}static init_DataRange(){this.define({names:[s.Array,[]],renderers:[s.Array,[]]})}}t.DataRange=_,_.__name__=\"DataRange\",_.init_DataRange()},\n", + " function _(a,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});var e=a(213);t.Sizeable=e.Sizeable,t.SizingPolicy=e.SizingPolicy;var i=a(214);t.Layoutable=i.Layoutable,t.LayoutItem=i.LayoutItem;var n=a(215);t.HStack=n.HStack,t.VStack=n.VStack,t.AnchorLayout=n.AnchorLayout;var r=a(216);t.Grid=r.Grid,t.Row=r.Row,t.Column=r.Column;var c=a(217);t.ContentBox=c.ContentBox,t.VariadicBox=c.VariadicBox},\n", + " function _(t,h,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(21),{min:d,max:n}=Math;class w{constructor(t={}){this.width=null!=t.width?t.width:0,this.height=null!=t.height?t.height:0}bounded_to({width:t,height:h}){return new w({width:this.width==1/0&&null!=t?t:this.width,height:this.height==1/0&&null!=h?h:this.height})}expanded_to({width:t,height:h}){return new w({width:t!=1/0?n(this.width,t):this.width,height:h!=1/0?n(this.height,h):this.height})}expand_to({width:t,height:h}){this.width=n(this.width,t),this.height=n(this.height,h)}narrowed_to({width:t,height:h}){return new w({width:d(this.width,t),height:d(this.height,h)})}narrow_to({width:t,height:h}){this.width=d(this.width,t),this.height=d(this.height,h)}grow_by({left:t,right:h,top:i,bottom:e}){const d=this.width+t+h,n=this.height+i+e;return new w({width:d,height:n})}shrink_by({left:t,right:h,top:i,bottom:e}){const d=n(this.width-t-h,0),s=n(this.height-i-e,0);return new w({width:d,height:s})}map(t,h){return new w({width:t(this.width),height:(null!=h?h:t)(this.height)})}}i.Sizeable=w,w.__name__=\"Sizeable\",i.SizingPolicy=e.Enum(\"fixed\",\"fit\",\"min\",\"max\")},\n", + " function _(i,t,h){Object.defineProperty(h,\"__esModule\",{value:!0});const e=i(213),s=i(79),{min:n,max:g,round:a}=Math;class l{constructor(){this._bbox=new s.BBox,this._inner_bbox=new s.BBox}get bbox(){return this._bbox}get inner_bbox(){return this._inner_bbox}get sizing(){return this._sizing}set_sizing(i){const t=i.width_policy||\"fit\",h=i.width,e=null!=i.min_width?i.min_width:0,s=null!=i.max_width?i.max_width:1/0,n=i.height_policy||\"fit\",g=i.height,a=null!=i.min_height?i.min_height:0,l=null!=i.max_height?i.max_height:1/0,_=i.aspect,d=i.margin||{top:0,right:0,bottom:0,left:0},r=!1!==i.visible,w=i.halign||\"start\",o=i.valign||\"start\";this._sizing={width_policy:t,min_width:e,width:h,max_width:s,height_policy:n,min_height:a,height:g,max_height:l,aspect:_,margin:d,visible:r,halign:w,valign:o,size:{width:h,height:g},min_size:{width:e,height:a},max_size:{width:s,height:l}},this._init()}_init(){}_set_geometry(i,t){this._bbox=i,this._inner_bbox=t}set_geometry(i,t){this._set_geometry(i,t||i)}is_width_expanding(){return\"max\"==this.sizing.width_policy}is_height_expanding(){return\"max\"==this.sizing.height_policy}apply_aspect(i,{width:t,height:h}){const{aspect:e}=this.sizing;if(null!=e){const{width_policy:s,height_policy:n}=this.sizing,g=(i,t)=>{const h={max:4,fit:3,min:2,fixed:1};return h[i]>h[t]};if(\"fixed\"!=s&&\"fixed\"!=n)if(s==n){const s=t,n=a(t/e),g=a(h*e),l=h;Math.abs(i.width-s)+Math.abs(i.height-n)<=Math.abs(i.width-g)+Math.abs(i.height-l)?(t=s,h=n):(t=g,h=l)}else g(s,n)?h=a(t/e):t=a(h*e);else\"fixed\"==s?h=a(t/e):\"fixed\"==n&&(t=a(h*e))}return{width:t,height:h}}measure(i){if(!this.sizing.visible)return{width:0,height:0};const t=i=>\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i,h=i=>\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i,s=new e.Sizeable(i).shrink_by(this.sizing.margin).map(t,h),n=this._measure(s),g=this.clip_size(n),a=t(g.width),l=h(g.height),_=this.apply_aspect(s,{width:a,height:l});return Object.assign(Object.assign({},n),_)}compute(i={}){const t=this.measure({width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0}),{width:h,height:e}=t,n=new s.BBox({left:0,top:0,width:h,height:e});let g=void 0;if(null!=t.inner){const{left:i,top:n,right:a,bottom:l}=t.inner;g=new s.BBox({left:i,top:n,right:h-a,bottom:e-l})}this.set_geometry(n,g)}get xview(){return this.bbox.xview}get yview(){return this.bbox.yview}clip_width(i){return g(this.sizing.min_width,n(i,this.sizing.max_width))}clip_height(i){return g(this.sizing.min_height,n(i,this.sizing.max_height))}clip_size({width:i,height:t}){return{width:this.clip_width(i),height:this.clip_height(t)}}}h.Layoutable=l,l.__name__=\"Layoutable\";class _ extends l{_measure(i){const{width_policy:t,height_policy:h}=this.sizing;let e,s;if(i.width==1/0)e=null!=this.sizing.width?this.sizing.width:0;else switch(t){case\"fixed\":e=null!=this.sizing.width?this.sizing.width:0;break;case\"min\":e=null!=this.sizing.width?n(i.width,this.sizing.width):0;break;case\"fit\":e=null!=this.sizing.width?n(i.width,this.sizing.width):i.width;break;case\"max\":e=null!=this.sizing.width?g(i.width,this.sizing.width):i.width}if(i.height==1/0)s=null!=this.sizing.height?this.sizing.height:0;else switch(h){case\"fixed\":s=null!=this.sizing.height?this.sizing.height:0;break;case\"min\":s=null!=this.sizing.height?n(i.height,this.sizing.height):0;break;case\"fit\":s=null!=this.sizing.height?n(i.height,this.sizing.height):i.height;break;case\"max\":s=null!=this.sizing.height?g(i.height,this.sizing.height):i.height}return{width:e,height:s}}}h.LayoutItem=_,_.__name__=\"LayoutItem\";class d extends l{_measure(i){const t=this._content_size(),h=i.bounded_to(this.sizing.size).bounded_to(t);return{width:(()=>{switch(this.sizing.width_policy){case\"fixed\":return null!=this.sizing.width?this.sizing.width:t.width;case\"min\":return t.width;case\"fit\":return h.width;case\"max\":return Math.max(t.width,h.width)}})(),height:(()=>{switch(this.sizing.height_policy){case\"fixed\":return null!=this.sizing.height?this.sizing.height:t.height;case\"min\":return t.height;case\"fit\":return h.height;case\"max\":return Math.max(t.height,h.height)}})()}}}h.ContentLayoutable=d,d.__name__=\"ContentLayoutable\"},\n", + " function _(t,e,h){Object.defineProperty(h,\"__esModule\",{value:!0});const o=t(214),r=t(79);class i extends o.Layoutable{constructor(){super(...arguments),this.children=[]}}h.Stack=i,i.__name__=\"Stack\";class s extends i{_measure(t){let e=0,h=0;for(const t of this.children){const o=t.measure({width:0,height:0});e+=o.width,h=Math.max(h,o.height)}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const{top:h,bottom:o}=t;let{left:i}=t;for(const t of this.children){const{width:e}=t.measure({width:0,height:0});t.set_geometry(new r.BBox({left:i,width:e,top:h,bottom:o})),i+=e}}}h.HStack=s,s.__name__=\"HStack\";class n extends i{_measure(t){let e=0,h=0;for(const t of this.children){const o=t.measure({width:0,height:0});e=Math.max(e,o.width),h+=o.height}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const{left:h,right:o}=t;let{top:i}=t;for(const t of this.children){const{height:e}=t.measure({width:0,height:0});t.set_geometry(new r.BBox({top:i,height:e,left:h,right:o})),i+=e}}}h.VStack=n,n.__name__=\"VStack\";class c extends o.Layoutable{constructor(){super(...arguments),this.children=[]}_measure(t){let e=0,h=0;for(const{layout:o}of this.children){const r=o.measure(t);e=Math.max(e,r.width),h=Math.max(h,r.height)}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);for(const{layout:e,anchor:h,margin:o}of this.children){const{left:i,right:s,top:n,bottom:c,hcenter:a,vcenter:_}=t,{width:g,height:d}=e.measure(t);let m;switch(h){case\"top_left\":m=new r.BBox({left:i+o,top:n+o,width:g,height:d});break;case\"top_center\":m=new r.BBox({hcenter:a,top:n+o,width:g,height:d});break;case\"top_right\":m=new r.BBox({right:s-o,top:n+o,width:g,height:d});break;case\"bottom_right\":m=new r.BBox({right:s-o,bottom:c-o,width:g,height:d});break;case\"bottom_center\":m=new r.BBox({hcenter:a,bottom:c-o,width:g,height:d});break;case\"bottom_left\":m=new r.BBox({left:i+o,bottom:c-o,width:g,height:d});break;case\"center_left\":m=new r.BBox({left:i+o,vcenter:_,width:g,height:d});break;case\"center\":m=new r.BBox({hcenter:a,vcenter:_,width:g,height:d});break;case\"center_right\":m=new r.BBox({right:s-o,vcenter:_,width:g,height:d})}e.set_geometry(m)}}}h.AnchorLayout=c,c.__name__=\"AnchorLayout\"},\n", + " function _(t,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const e=t(213),o=t(214),n=t(8),r=t(79),h=t(9),{max:l,round:c}=Math;class a{constructor(t){this.def=t,this._map=new Map}get(t){let i=this._map.get(t);return void 0===i&&(i=this.def(),this._map.set(t,i)),i}apply(t,i){const s=this.get(t);this._map.set(t,i(s))}}a.__name__=\"DefaultMap\";class g{constructor(){this._items=[],this._nrows=0,this._ncols=0}get nrows(){return this._nrows}get ncols(){return this._ncols}add(t,i){const{r1:s,c1:e}=t;this._nrows=l(this._nrows,s+1),this._ncols=l(this._ncols,e+1),this._items.push({span:t,data:i})}at(t,i){return this._items.filter(({span:s})=>s.r0<=t&&t<=s.r1&&s.c0<=i&&i<=s.c1).map(({data:t})=>t)}row(t){return this._items.filter(({span:i})=>i.r0<=t&&t<=i.r1).map(({data:t})=>t)}col(t){return this._items.filter(({span:i})=>i.c0<=t&&t<=i.c1).map(({data:t})=>t)}foreach(t){for(const{span:i,data:s}of this._items)t(i,s)}map(t){const i=new g;for(const{span:s,data:e}of this._items)i.add(s,t(s,e));return i}}g.__name__=\"Container\";class p extends o.Layoutable{constructor(t=[]){super(),this.items=t,this.rows=\"auto\",this.cols=\"auto\",this.spacing=0,this.absolute=!1}is_width_expanding(){if(super.is_width_expanding())return!0;if(\"fixed\"==this.sizing.width_policy)return!1;const{cols:t}=this._state;return h.some(t,t=>\"max\"==t.policy)}is_height_expanding(){if(super.is_height_expanding())return!0;if(\"fixed\"==this.sizing.height_policy)return!1;const{rows:t}=this._state;return h.some(t,t=>\"max\"==t.policy)}_init(){super._init();const t=new g;for(const{layout:i,row:s,col:e,row_span:o,col_span:n}of this.items)if(i.sizing.visible){const r=s,h=e,l=s+(null!=o?o:1)-1,c=e+(null!=n?n:1)-1;t.add({r0:r,c0:h,r1:l,c1:c},i)}const{nrows:i,ncols:s}=t,e=new Array(i);for(let s=0;s{const t=n.isPlainObject(this.rows)?this.rows[s]||this.rows[\"*\"]:this.rows;return null==t?{policy:\"auto\"}:n.isNumber(t)?{policy:\"fixed\",height:t}:n.isString(t)?{policy:t}:t})(),o=i.align||\"auto\";if(\"fixed\"==i.policy)e[s]={policy:\"fixed\",height:i.height,align:o};else if(\"min\"==i.policy)e[s]={policy:\"min\",align:o};else if(\"fit\"==i.policy||\"max\"==i.policy)e[s]={policy:i.policy,flex:i.flex||1,align:o};else{if(\"auto\"!=i.policy)throw new Error(\"unrechable\");h.some(t.row(s),t=>t.is_height_expanding())?e[s]={policy:\"max\",flex:1,align:o}:e[s]={policy:\"min\",align:o}}}const o=new Array(s);for(let i=0;i{const t=n.isPlainObject(this.cols)?this.cols[i]||this.cols[\"*\"]:this.cols;return null==t?{policy:\"auto\"}:n.isNumber(t)?{policy:\"fixed\",width:t}:n.isString(t)?{policy:t}:t})(),e=s.align||\"auto\";if(\"fixed\"==s.policy)o[i]={policy:\"fixed\",width:s.width,align:e};else if(\"min\"==s.policy)o[i]={policy:\"min\",align:e};else if(\"fit\"==s.policy||\"max\"==s.policy)o[i]={policy:s.policy,flex:s.flex||1,align:e};else{if(\"auto\"!=s.policy)throw new Error(\"unrechable\");h.some(t.col(i),t=>t.is_width_expanding())?o[i]={policy:\"max\",flex:1,align:e}:o[i]={policy:\"min\",align:e}}}const[r,l]=n.isNumber(this.spacing)?[this.spacing,this.spacing]:this.spacing;this._state={items:t,nrows:i,ncols:s,rows:e,cols:o,rspacing:r,cspacing:l}}_measure_totals(t,i){const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state;return{height:h.sum(t)+(s-1)*o,width:h.sum(i)+(e-1)*n}}_measure_cells(t){const{items:i,nrows:s,ncols:o,rows:n,cols:r,rspacing:h,cspacing:a}=this._state,p=new Array(s);for(let t=0;t{const{r0:o,c0:g,r1:d,c1:w}=i,u=(d-o)*h,m=(w-g)*a;let y=0;for(let i=o;i<=d;i++)y+=t(i,g).height;y+=u;let x=0;for(let i=g;i<=w;i++)x+=t(o,i).width;x+=m;const b=s.measure({width:x,height:y});f.add(i,{layout:s,size_hint:b});const z=new e.Sizeable(b).grow_by(s.sizing.margin);z.height-=u,z.width-=m;const j=[];for(let t=o;t<=d;t++){const i=n[t];\"fixed\"==i.policy?z.height-=i.height:j.push(t)}if(z.height>0){const t=c(z.height/j.length);for(const i of j)p[i]=l(p[i],t)}const O=[];for(let t=g;t<=w;t++){const i=r[t];\"fixed\"==i.policy?z.width-=i.width:O.push(t)}if(z.width>0){const t=c(z.width/O.length);for(const i of O)_[i]=l(_[i],t)}});return{size:this._measure_totals(p,_),row_heights:p,col_widths:_,size_hints:f}}_measure_grid(t){const{nrows:i,ncols:s,rows:e,cols:o,rspacing:n,cspacing:r}=this._state,h=this._measure_cells((t,i)=>{const s=e[t],n=o[i];return{width:\"fixed\"==n.policy?n.width:1/0,height:\"fixed\"==s.policy?s.height:1/0}});let a;a=\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:h.size.height;let g,p=0;for(let t=0;t0)for(let t=0;ti?i:e,t--}}}g=\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:h.size.width;let _=0;for(let t=0;t0)for(let t=0;ts?s:o,t--}}}const{row_heights:f,col_widths:d,size_hints:w}=this._measure_cells((t,i)=>({width:h.col_widths[i],height:h.row_heights[t]}));return{size:this._measure_totals(f,d),row_heights:f,col_widths:d,size_hints:w}}_measure(t){const{size:i}=this._measure_grid(t);return i}_set_geometry(t,i){super._set_geometry(t,i);const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state,{row_heights:h,col_widths:g,size_hints:p}=this._measure_grid(t),_=this._state.rows.map((t,i)=>Object.assign(Object.assign({},t),{top:0,height:h[i],get bottom(){return this.top+this.height}})),f=this._state.cols.map((t,i)=>Object.assign(Object.assign({},t),{left:0,width:g[i],get right(){return this.left+this.width}})),d=p.map((t,i)=>Object.assign(Object.assign({},i),{outer:new r.BBox,inner:new r.BBox}));for(let i=0,e=this.absolute?t.top:0;i{const{layout:l,size_hint:a}=h,{sizing:g}=l,{width:p,height:d}=a,w=function(t,i){let s=(i-t)*n;for(let e=t;e<=i;e++)s+=f[e].width;return s}(i,e),u=function(t,i){let s=(i-t)*o;for(let e=t;e<=i;e++)s+=_[e].height;return s}(t,s),m=i==e&&\"auto\"!=f[i].align?f[i].align:g.halign,y=t==s&&\"auto\"!=_[t].align?_[t].align:g.valign;let x=f[i].left;\"start\"==m?x+=g.margin.left:\"center\"==m?x+=c((w-p)/2):\"end\"==m&&(x+=w-g.margin.right-p);let b=_[t].top;\"start\"==y?b+=g.margin.top:\"center\"==y?b+=c((u-d)/2):\"end\"==y&&(b+=u-g.margin.bottom-d),h.outer=new r.BBox({left:x,top:b,width:p,height:d})});const w=_.map(()=>({start:new a(()=>0),end:new a(()=>0)})),u=f.map(()=>({start:new a(()=>0),end:new a(()=>0)}));d.foreach(({r0:t,c0:i,r1:s,c1:e},{size_hint:o,outer:n})=>{const{inner:r}=o;null!=r&&(w[t].start.apply(n.top,t=>l(t,r.top)),w[s].end.apply(_[s].bottom-n.bottom,t=>l(t,r.bottom)),u[i].start.apply(n.left,t=>l(t,r.left)),u[e].end.apply(f[e].right-n.right,t=>l(t,r.right)))}),d.foreach(({r0:t,c0:i,r1:s,c1:e},o)=>{const{size_hint:n,outer:h}=o;function l({left:t,right:i,top:s,bottom:e}){const o=h.width-t-i,n=h.height-s-e;return new r.BBox({left:t,top:s,width:o,height:n})}if(null!=n.inner){let r=l(n.inner);if(!1!==n.align){const o=w[t].start.get(h.top),n=w[s].end.get(_[s].bottom-h.bottom),c=u[i].start.get(h.left),a=u[e].end.get(f[e].right-h.right);try{r=l({top:o,bottom:n,left:c,right:a})}catch(t){}}o.inner=r}else o.inner=h}),d.foreach((t,{layout:i,outer:s,inner:e})=>{i.set_geometry(s,e)})}}s.Grid=p,p.__name__=\"Grid\";class _ extends p{constructor(t){super(),this.items=t.map((t,i)=>({layout:t,row:0,col:i})),this.rows=\"fit\"}}s.Row=_,_.__name__=\"Row\";class f extends p{constructor(t){super(),this.items=t.map((t,i)=>({layout:t,row:i,col:0})),this.cols=\"fit\"}}s.Column=f,f.__name__=\"Column\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(214),i=e(213),a=e(72);class c extends n.ContentLayoutable{constructor(e){super(),this.content_size=a.unsized(e,()=>new i.Sizeable(a.size(e)))}_content_size(){return this.content_size}}s.ContentBox=c,c.__name__=\"ContentBox\";class o extends n.Layoutable{constructor(e){super(),this.el=e}_measure(e){const t=new i.Sizeable(e).bounded_to(this.sizing.size);return a.sized(this.el,t,()=>{const e=new i.Sizeable(a.content_size(this.el)),{border:t,padding:s}=a.extents(this.el);return e.grow_by(t).grow_by(s).map(Math.ceil)})}}s.VariadicBox=o,o.__name__=\"VariadicBox\";class r extends o{constructor(e){super(e),this._cache=new Map}_measure(e){const{width:t,height:s}=e,n=`${t},${s}`;let i=this._cache.get(n);return null==i&&(i=super._measure(e),this._cache.set(n,i)),i}invalidate_cache(){this._cache.clear()}}s.CachedVariadicBox=r,r.__name__=\"CachedVariadicBox\"},\n", + " function _(e,r,u){Object.defineProperty(u,\"__esModule\",{value:!0});var a=e(219);u.Expression=a.Expression;var n=e(220);u.Stack=n.Stack;var o=e(221);u.CumSum=o.CumSum},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(81);class i extends n.Model{constructor(e){super(e)}initialize(){super.initialize(),this._connected=new Set,this._result=new Map}v_compute(e){this._connected.has(e)||(this.connect(e.change,()=>this._result.delete(e)),this.connect(e.patching,()=>this._result.delete(e)),this.connect(e.streaming,()=>this._result.delete(e)),this._connected.add(e));let t=this._result.get(e);return null==t&&(t=this._v_compute(e),this._result.set(e,t)),t}}s.Expression=i,i.__name__=\"Expression\"},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=t(1),i=t(219),s=t(24),o=r.__importStar(t(18));class a extends i.Expression{constructor(t){super(t)}static init_Stack(){this.define({fields:[o.Array,[]]})}_v_compute(t){var e;const n=null!==(e=t.get_length())&&void 0!==e?e:0,r=new s.NumberArray(n);for(const e of this.fields){const i=t.data[e];if(null!=i)for(let t=0,e=Math.min(n,i.length);tn(t,e,r,...this.values))}}n.FuncTickFormatter=u,u.__name__=\"FuncTickFormatter\",u.init_FuncTickFormatter()},\n", + " function _(r,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=r(1),o=e.__importStar(r(188)),a=r(131),i=e.__importStar(r(18));class u extends a.TickFormatter{constructor(r){super(r)}static init_NumeralTickFormatter(){this.define({format:[i.String,\"0,0\"],language:[i.String,\"en\"],rounding:[i.RoundingFunction,\"round\"]})}get _rounding_fn(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}doFormat(r,t){const{format:n,language:e,_rounding_fn:a}=this;return r.map(r=>o.format(r,n,e,a))}}n.NumeralTickFormatter=u,u.__name__=\"NumeralTickFormatter\",u.init_NumeralTickFormatter()},\n", + " function _(t,r,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(1),n=t(131),o=t(187),a=e.__importStar(t(18));class c extends n.TickFormatter{constructor(t){super(t)}static init_PrintfTickFormatter(){this.define({format:[a.String,\"%s\"]})}doFormat(t,r){return t.map(t=>o.sprintf(this.format,t))}}i.PrintfTickFormatter=c,c.__name__=\"PrintfTickFormatter\",c.init_PrintfTickFormatter()},\n", + " function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});var v=a(233);r.AnnularWedge=v.AnnularWedge;var l=a(234);r.Annulus=l.Annulus;var t=a(235);r.Arc=t.Arc;var i=a(236);r.Bezier=i.Bezier;var n=a(237);r.Circle=n.Circle;var u=a(241);r.CenterRotatable=u.CenterRotatable;var c=a(242);r.Ellipse=c.Ellipse;var g=a(243);r.EllipseOval=g.EllipseOval;var A=a(94);r.Glyph=A.Glyph;var p=a(111);r.HArea=p.HArea;var s=a(244);r.HBar=s.HBar;var d=a(246);r.HexTile=d.HexTile;var R=a(247);r.Image=R.Image;var o=a(249);r.ImageRGBA=o.ImageRGBA;var y=a(250);r.ImageURL=y.ImageURL;var h=a(92);r.Line=h.Line;var m=a(252);r.MultiLine=m.MultiLine;var B=a(253);r.MultiPolygons=B.MultiPolygons;var P=a(254);r.Oval=P.Oval;var G=a(110);r.Patch=G.Patch;var H=a(255);r.Patches=H.Patches;var I=a(256);r.Quad=I.Quad;var L=a(257);r.Quadratic=L.Quadratic;var M=a(258);r.Ray=M.Ray;var O=a(259);r.Rect=O.Rect;var x=a(260);r.Segment=x.Segment;var C=a(261);r.Step=C.Step;var E=a(262);r.Text=E.Text;var Q=a(113);r.VArea=Q.VArea;var S=a(263);r.VBar=S.VBar;var T=a(264);r.Wedge=T.Wedge;var V=a(93);r.XYGlyph=V.XYGlyph},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),r=e(93),n=e(100),a=e(28),_=e(24),o=i.__importStar(e(18)),d=e(10),h=e(88);class u extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius,this._angle=new _.NumberArray(this._start_angle.length);for(let e=0,t=this._start_angle.length;e=s&&u.push(e)}const l=this.model.properties.direction.value(),c=[];for(const e of u){const i=Math.atan2(s-this.sy[e],t-this.sx[e]);d.angle_between(-i,-this._start_angle[e],-this._end_angle[e],l)&&c.push(e)}return new h.Selection({indices:c})}draw_legend_for_index(e,t,s){n.generic_area_legend(this.visuals,e,t,s)}scenterxy(e){const t=(this.sinner_radius[e]+this.souter_radius[e])/2,s=(this._start_angle[e]+this._end_angle[e])/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.AnnularWedgeView=u,u.__name__=\"AnnularWedgeView\";class l extends r.XYGlyph{constructor(e){super(e)}static init_AnnularWedge(){this.prototype.default_view=u,this.mixins([a.LineVector,a.FillVector]),this.define({direction:[o.Direction,\"anticlock\"],inner_radius:[o.DistanceSpec],outer_radius:[o.DistanceSpec],start_angle:[o.AngleSpec],end_angle:[o.AngleSpec]})}}s.AnnularWedge=l,l.__name__=\"AnnularWedge\",l.init_AnnularWedge()},\n", + " function _(s,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const t=s(1),r=s(93),n=s(28),a=t.__importStar(s(18)),_=s(32),u=s(88);class o extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius}_render(s,i,{sx:e,sy:t,sinner_radius:r,souter_radius:n}){for(const a of i)if(!isNaN(e[a]+t[a]+r[a]+n[a])){if(this.visuals.fill.doit){if(this.visuals.fill.set_vectorize(s,a),s.beginPath(),_.is_ie)for(const i of[!1,!0])s.arc(e[a],t[a],r[a],0,Math.PI,i),s.arc(e[a],t[a],n[a],Math.PI,0,!i);else s.arc(e[a],t[a],r[a],0,2*Math.PI,!0),s.arc(e[a],t[a],n[a],2*Math.PI,0,!1);s.fill()}this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,a),s.beginPath(),s.arc(e[a],t[a],r[a],0,2*Math.PI),s.moveTo(e[a]+n[a],t[a]),s.arc(e[a],t[a],n[a],0,2*Math.PI),s.stroke())}}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e);let n,a,_,o;if(\"data\"==this.model.properties.outer_radius.units)n=t-this.max_outer_radius,_=t+this.max_outer_radius,a=r-this.max_outer_radius,o=r+this.max_outer_radius;else{const s=i-this.max_outer_radius,t=i+this.max_outer_radius;[n,_]=this.renderer.xscale.r_invert(s,t);const r=e-this.max_outer_radius,u=e+this.max_outer_radius;[a,o]=this.renderer.yscale.r_invert(r,u)}const d=[];for(const s of this.index.indices({x0:n,x1:_,y0:a,y1:o})){const i=this.souter_radius[s]**2,e=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(t,this._x[s]),[_,u]=this.renderer.yscale.r_compute(r,this._y[s]),o=(n-a)**2+(_-u)**2;o<=i&&o>=e&&d.push(s)}return new u.Selection({indices:d})}draw_legend_for_index(s,{x0:i,y0:e,x1:t,y1:r},n){const a=n+1,_=new Array(a);_[n]=(i+t)/2;const u=new Array(a);u[n]=(e+r)/2;const o=.5*Math.min(Math.abs(t-i),Math.abs(r-e)),d=new Array(a);d[n]=.4*o;const h=new Array(a);h[n]=.8*o,this._render(s,[n],{sx:_,sy:u,sinner_radius:d,souter_radius:h})}}e.AnnulusView=o,o.__name__=\"AnnulusView\";class d extends r.XYGlyph{constructor(s){super(s)}static init_Annulus(){this.prototype.default_view=o,this.mixins([n.LineVector,n.FillVector]),this.define({inner_radius:[a.DistanceSpec],outer_radius:[a.DistanceSpec]})}}e.Annulus=d,d.__name__=\"Annulus\",d.init_Annulus()},\n", + " function _(e,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const t=e(1),r=e(93),n=e(100),a=e(28),_=t.__importStar(e(18));class c extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius}_render(e,i,{sx:s,sy:t,sradius:r,_start_angle:n,_end_angle:a}){if(this.visuals.line.doit){const _=this.model.properties.direction.value();for(const c of i)isNaN(s[c]+t[c]+r[c]+n[c]+a[c])||(e.beginPath(),e.arc(s[c],t[c],r[c],n[c],a[c],_),this.visuals.line.set_vectorize(e,c),e.stroke())}}draw_legend_for_index(e,i,s){n.generic_line_legend(this.visuals,e,i,s)}}s.ArcView=c,c.__name__=\"ArcView\";class d extends r.XYGlyph{constructor(e){super(e)}static init_Arc(){this.prototype.default_view=c,this.mixins(a.LineVector),this.define({direction:[_.Direction,\"anticlock\"],radius:[_.DistanceSpec],start_angle:[_.AngleSpec],end_angle:[_.AngleSpec]})}}s.Arc=d,d.__name__=\"Arc\",d.init_Arc()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(28),c=e(94),o=e(100),_=e(37),r=s.__importStar(e(18));function a(e,t,i,s,n,c,o,_){const r=[],a=[[],[]];for(let a=0;a<=2;a++){let h,d,x;if(0===a?(d=6*e-12*i+6*n,h=-3*e+9*i-9*n+3*o,x=3*i-3*e):(d=6*t-12*s+6*c,h=-3*t+9*s-9*c+3*_,x=3*s-3*t),Math.abs(h)<1e-12){if(Math.abs(d)<1e-12)continue;const e=-x/d;0Math.max(s,i[e]));break}case\"min\":{const s=this.sdist(this.renderer.xscale,this._x,this._radius),i=this.sdist(this.renderer.yscale,this._y,this._radius);this.sradius=_.map(s,(s,e)=>Math.min(s,i[e]));break}}else this.sradius=this._radius,this.max_size=2*this.max_radius;else this.sradius=_.map(this._size,s=>s/2)}_mask_data(){const[s,i]=this.renderer.plot_view.frame.bbox.ranges;let e,t,r,a;if(null!=this._radius&&\"data\"==this.model.properties.radius.units){const n=s.start,h=s.end;[e,r]=this.renderer.xscale.r_invert(n,h),e-=this.max_radius,r+=this.max_radius;const d=i.start,l=i.end;[t,a]=this.renderer.yscale.r_invert(d,l),t-=this.max_radius,a+=this.max_radius}else{const n=s.start-this.max_size,h=s.end+this.max_size;[e,r]=this.renderer.xscale.r_invert(n,h);const d=i.start-this.max_size,l=i.end+this.max_size;[t,a]=this.renderer.yscale.r_invert(d,l)}return this.index.indices({x0:e,x1:r,y0:t,y1:a})}_render(s,i,{sx:e,sy:t,sradius:r}){for(const a of i)isNaN(e[a]+t[a]+r[a])||(s.beginPath(),s.arc(e[a],t[a],r[a],0,2*Math.PI,!1),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(s,a),s.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,a),s.stroke()))}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e);let a,n,h,d;if(null!=this._radius&&\"data\"==this.model.properties.radius.units)a=t-this.max_radius,n=t+this.max_radius,h=r-this.max_radius,d=r+this.max_radius;else{const s=i-this.max_size,t=i+this.max_size;[a,n]=this.renderer.xscale.r_invert(s,t);const r=e-this.max_size,l=e+this.max_size;[h,d]=this.renderer.yscale.r_invert(r,l)}const l=this.index.indices({x0:a,x1:n,y0:h,y1:d}),_=[];if(null!=this._radius&&\"data\"==this.model.properties.radius.units)for(const s of l){const i=this.sradius[s]**2,[e,a]=this.renderer.xscale.r_compute(t,this._x[s]),[n,h]=this.renderer.yscale.r_compute(r,this._y[s]);(e-a)**2+(n-h)**2<=i&&_.push(s)}else for(const s of l){const t=this.sradius[s]**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&_.push(s)}return new c.Selection({indices:_})}_hit_span(s){const{sx:i,sy:e}=s,t=this.bounds();let r,a,n,h;if(\"h\"==s.direction){let s,e;if(n=t.y0,h=t.y1,null!=this._radius&&\"data\"==this.model.properties.radius.units)s=i-this.max_radius,e=i+this.max_radius,[r,a]=this.renderer.xscale.r_invert(s,e);else{const t=this.max_size/2;s=i-t,e=i+t,[r,a]=this.renderer.xscale.r_invert(s,e)}}else{let s,i;if(r=t.x0,a=t.x1,null!=this._radius&&\"data\"==this.model.properties.radius.units)s=e-this.max_radius,i=e+this.max_radius,[n,h]=this.renderer.yscale.r_invert(s,i);else{const t=this.max_size/2;s=e-t,i=e+t,[n,h]=this.renderer.yscale.r_invert(s,i)}}const d=[...this.index.indices({x0:r,x1:a,y0:n,y1:h})];return new c.Selection({indices:d})}_hit_rect(s){const{sx0:i,sx1:e,sy0:t,sy1:r}=s,[a,n]=this.renderer.xscale.r_invert(i,e),[h,d]=this.renderer.yscale.r_invert(t,r),l=[...this.index.indices({x0:a,x1:n,y0:h,y1:d})];return new c.Selection({indices:l})}_hit_poly(s){const{sx:i,sy:e}=s,t=l.range(0,this.sx.length),r=[];for(let s=0,a=t.length;s2*t)),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(a),this.visuals_changed=!1),this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[s.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[s.width,s.height]),this.prog.set_attribute(\"a_sx\",\"float\",i.vbo_sx),this.prog.set_attribute(\"a_sy\",\"float\",i.vbo_sy),this.prog.set_attribute(\"a_size\",\"float\",i.vbo_s),this.prog.set_attribute(\"a_angle\",\"float\",i.vbo_a),0!=t.length)if(t.length===a)this.prog.draw(this.gl.POINTS,[0,a]);else if(a<65535){const e=window.navigator.userAgent;e.indexOf(\"MSIE \")+e.indexOf(\"Trident/\")+e.indexOf(\"Edge/\")>0&&n.logger.warn(\"WebGL warning: IE is known to produce 1px sprites whith selections.\"),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer)}else{const e=64e3,s=[];for(let t=0,i=Math.ceil(a/e);t2*t)):this.vbo_s.set_data(0,new Float32Array(this.glyph._size))}_set_visuals(t){u(this.prog,this.vbo_linewidth,\"a_linewidth\",t,this.glyph.visuals.line,\"line_width\"),f(this.prog,this.vbo_fg_color,\"a_fg_color\",t,this.glyph.visuals.line,\"line\"),f(this.prog,this.vbo_bg_color,\"a_bg_color\",t,this.glyph.visuals.fill,\"fill\"),this.prog.set_uniform(\"u_antialias\",\"float\",[.8])}}function b(t){return class extends d{get _marker_code(){return t}}}s.MarkerGL=d,d.__name__=\"MarkerGL\";const c=i.__importStar(t(240));s.AsteriskGL=b(c.asterisk),s.CircleGL=b(c.circle),s.CircleCrossGL=b(c.circlecross),s.CircleXGL=b(c.circlex),s.CrossGL=b(c.cross),s.DiamondGL=b(c.diamond),s.DiamondCrossGL=b(c.diamondcross),s.HexGL=b(c.hex),s.InvertedTriangleGL=b(c.invertedtriangle),s.SquareGL=b(c.square),s.SquareCrossGL=b(c.squarecross),s.SquareXGL=b(c.squarex),s.TriangleGL=b(c.triangle),s.XGL=b(c.x)},\n", + " function _(n,i,a){Object.defineProperty(a,\"__esModule\",{value:!0}),a.vertex_shader=\"\\nprecision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\n//\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform vec2 u_offset;\\nuniform vec2 u_scale;\\nuniform float u_antialias;\\n//\\nattribute float a_sx;\\nattribute float a_sy;\\nattribute float a_size;\\nattribute float a_angle; // in radians\\nattribute float a_linewidth;\\nattribute vec4 a_fg_color;\\nattribute vec4 a_bg_color;\\n//\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec4 v_fg_color;\\nvarying vec4 v_bg_color;\\nvarying vec2 v_rotation;\\n\\nvoid main (void)\\n{\\n v_size = a_size * u_pixel_ratio;\\n v_linewidth = a_linewidth * u_pixel_ratio;\\n v_fg_color = a_fg_color;\\n v_bg_color = a_bg_color;\\n v_rotation = vec2(cos(-a_angle), sin(-a_angle));\\n vec2 pos = vec2(a_sx, a_sy); // in pixels\\n pos += 0.5; // make up for Bokeh's offset\\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(pos*2.0-1.0, 0.0, 1.0);\\n gl_Position.y *= -1.0;\\n gl_PointSize = SQRT_2 * v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\\n}\\n\"},\n", + " function _(a,n,s){Object.defineProperty(s,\"__esModule\",{value:!0}),s.fragment_shader=a=>`\\nprecision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\nconst float PI = 3.14159265358979323846264;\\n//\\nuniform float u_antialias;\\n//\\nvarying vec4 v_fg_color;\\nvarying vec4 v_bg_color;\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec2 v_rotation;\\n\\n${a}\\n\\nvec4 outline(float distance, float linewidth, float antialias, vec4 fg_color, vec4 bg_color)\\n{\\n vec4 frag_color;\\n float t = linewidth/2.0 - antialias;\\n float signed_distance = distance;\\n float border_distance = abs(signed_distance) - t;\\n float alpha = border_distance/antialias;\\n alpha = exp(-alpha*alpha);\\n\\n // If fg alpha is zero, it probably means no outline. To avoid a dark outline\\n // shining through due to aa, we set the fg color to the bg color. Avoid if (i.e. branching).\\n float select = float(bool(fg_color.a));\\n fg_color.rgb = select * fg_color.rgb + (1.0 - select) * bg_color.rgb;\\n // Similarly, if we want a transparent bg\\n select = float(bool(bg_color.a));\\n bg_color.rgb = select * bg_color.rgb + (1.0 - select) * fg_color.rgb;\\n\\n if( border_distance < 0.0)\\n frag_color = fg_color;\\n else if( signed_distance < 0.0 ) {\\n frag_color = mix(bg_color, fg_color, sqrt(alpha));\\n } else {\\n if( abs(signed_distance) < (linewidth/2.0 + antialias) ) {\\n frag_color = vec4(fg_color.rgb, fg_color.a * alpha);\\n } else {\\n discard;\\n }\\n }\\n return frag_color;\\n}\\n\\nvoid main()\\n{\\n vec2 P = gl_PointCoord.xy - vec2(0.5, 0.5);\\n P = vec2(v_rotation.x*P.x - v_rotation.y*P.y,\\n v_rotation.y*P.x + v_rotation.x*P.y);\\n float point_size = SQRT_2*v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\\n float distance = marker(P*point_size, v_size);\\n gl_FragColor = outline(distance, v_linewidth, u_antialias, v_fg_color, v_bg_color);\\n}\\n`,s.circle=\"\\nfloat marker(vec2 P, float size)\\n{\\n return length(P) - size/2.0;\\n}\\n\",s.square=\"\\nfloat marker(vec2 P, float size)\\n{\\n return max(abs(P.x), abs(P.y)) - size/2.0;\\n}\\n\",s.diamond=\"\\nfloat marker(vec2 P, float size)\\n{\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n return r1 / SQRT_2;\\n}\\n\",s.hex=\"\\nfloat marker(vec2 P, float size)\\n{\\n vec2 q = abs(P);\\n return max(q.y * 0.57735 + q.x - 1.0 * size/2.0, q.y - 0.866 * size/2.0);\\n}\\n\",s.triangle=\"\\nfloat marker(vec2 P, float size)\\n{\\n P.y -= size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = P.y;\\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n}\\n\",s.invertedtriangle=\"\\nfloat marker(vec2 P, float size)\\n{\\n P.y += size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = - P.y;\\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n}\\n\",s.cross='\\nfloat marker(vec2 P, float size)\\n{\\n float square = max(abs(P.x), abs(P.y)) - size / 2.5; // 2.5 is a tweak\\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of \"width\" for aa\\n return max(square, cross);\\n}\\n',s.circlecross=\"\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float circle = length(P) - size/2.0;\\n float c1 = max(circle, s1);\\n float c2 = max(circle, s2);\\n float c3 = max(circle, s3);\\n float c4 = max(circle, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.squarecross=\"\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float c1 = max(square, s1);\\n float c2 = max(square, s2);\\n float c3 = max(square, s3);\\n float c4 = max(square, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.diamondcross=\"\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n diamond /= SQRT_2;\\n float c1 = max(diamond, s1);\\n float c2 = max(diamond, s2);\\n float c3 = max(diamond, s3);\\n float c4 = max(diamond, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.x='\\nfloat marker(vec2 P, float size)\\n{\\n float circle = length(P) - size / 1.6;\\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of \"width\" for aa\\n return max(circle, X);\\n}\\n',s.circlex='\\nfloat marker(vec2 P, float size)\\n{\\n float x = P.x - P.y;\\n float y = P.x + P.y;\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float circle = length(P) - size/2.0;\\n float c1 = max(circle, s1);\\n float c2 = max(circle, s2);\\n float c3 = max(circle, s3);\\n float c4 = max(circle, s4);\\n // Union\\n float almost = min(min(min(c1, c2), c3), c4);\\n // In this case, the X is also outside of the main shape\\n float Xmask = length(P) - size / 1.6; // a circle\\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of \"width\" for aa\\n return min(max(X, Xmask), almost);\\n}\\n',s.squarex=\"\\nfloat marker(vec2 P, float size)\\n{\\n float x = P.x - P.y;\\n float y = P.x + P.y;\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float c1 = max(square, s1);\\n float c2 = max(square, s2);\\n float c3 = max(square, s3);\\n float c4 = max(square, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n\",s.asterisk='\\nfloat marker(vec2 P, float size)\\n{\\n // Masks\\n float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / (2.0 * SQRT_2);\\n float square = max(abs(P.x), abs(P.y)) - size / (2.0 * SQRT_2);\\n // Shapes\\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of \"width\" for aa\\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of \"width\" for aa\\n // Result is union of masked shapes\\n return min(max(X, diamond), max(cross, square));\\n}\\n'},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const a=e(1),i=e(93),l=e(28),s=a.__importStar(e(18));class c extends i.XYGlyphView{}n.CenterRotatableView=c,c.__name__=\"CenterRotatableView\";class o extends i.XYGlyph{constructor(e){super(e)}static init_CenterRotatable(){this.mixins([l.LineVector,l.FillVector]),this.define({angle:[s.AngleSpec,0],width:[s.DistanceSpec],height:[s.DistanceSpec]})}}n.CenterRotatable=o,o.__name__=\"CenterRotatable\",o.init_CenterRotatable()},\n", + " function _(e,l,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(243);class t extends s.EllipseOvalView{}i.EllipseView=t,t.__name__=\"EllipseView\";class _ extends s.EllipseOval{constructor(e){super(e)}static init_Ellipse(){this.prototype.default_view=t}}i.Ellipse=_,_.__name__=\"Ellipse\",_.init_Ellipse()},\n", + " function _(t,s,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=t(1),h=t(241),a=e.__importStar(t(101)),r=t(88);class n extends h.CenterRotatableView{_set_data(){this.max_w2=0,\"data\"==this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"==this.model.properties.height.units&&(this.max_h2=this.max_height/2)}_map_data(){\"data\"==this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"):this.sw=this._width,\"data\"==this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"):this.sh=this._height}_render(t,s,{sx:i,sy:e,sw:h,sh:a,_angle:r}){for(const n of s)isNaN(i[n]+e[n]+h[n]+a[n]+r[n])||(t.beginPath(),t.ellipse(i[n],e[n],h[n]/2,a[n]/2,r[n],0,2*Math.PI),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,n),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,n),t.stroke()))}_hit_point(t){let s,i,e,h,n,_,l,d,o;const{sx:x,sy:m}=t,w=this.renderer.xscale.invert(x),c=this.renderer.yscale.invert(m);\"data\"==this.model.properties.width.units?(s=w-this.max_width,i=w+this.max_width):(_=x-this.max_width,l=x+this.max_width,[s,i]=this.renderer.xscale.r_invert(_,l)),\"data\"==this.model.properties.height.units?(e=c-this.max_height,h=c+this.max_height):(d=m-this.max_height,o=m+this.max_height,[e,h]=this.renderer.yscale.r_invert(d,o));const p=this.index.indices({x0:s,x1:i,y0:e,y1:h}),y=[];for(const t of p)n=a.point_in_ellipse(x,m,this._angle[t],this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),n&&y.push(t);return new r.Selection({indices:y})}draw_legend_for_index(t,{x0:s,y0:i,x1:e,y1:h},a){const r=a+1,n=new Array(r);n[a]=(s+e)/2;const _=new Array(r);_[a]=(i+h)/2;const l=this.sw[a]/this.sh[a],d=.8*Math.min(Math.abs(e-s),Math.abs(h-i)),o=new Array(r),x=new Array(r);l>1?(o[a]=d,x[a]=d/l):(o[a]=d*l,x[a]=d),this._render(t,[a],{sx:n,sy:_,sw:o,sh:x,_angle:[0]})}_bounds({x0:t,x1:s,y0:i,y1:e}){return{x0:t-this.max_w2,x1:s+this.max_w2,y0:i-this.max_h2,y1:e+this.max_h2}}}i.EllipseOvalView=n,n.__name__=\"EllipseOvalView\";class _ extends h.CenterRotatable{constructor(t){super(t)}}i.EllipseOval=_,_.__name__=\"EllipseOval\"},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(1),h=t(245),r=t(24),_=i.__importStar(t(18));class a extends h.BoxView{scenterxy(t){return[(this.sleft[t]+this.sright[t])/2,this.sy[t]]}_lrtb(t){return[Math.min(this._left[t],this._right[t]),Math.max(this._left[t],this._right[t]),this._y[t]+.5*this._height[t],this._y[t]-.5*this._height[t]]}_map_data(){this.sy=this.renderer.yscale.v_compute(this._y),this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"),this.sleft=this.renderer.xscale.v_compute(this._left),this.sright=this.renderer.xscale.v_compute(this._right);const t=this.sy.length;this.stop=new r.NumberArray(t),this.sbottom=new r.NumberArray(t);for(let e=0;e{t.beginPath(),t.rect(i[a],r[a],s[a]-i[a],n[a]-r[a]),t.fill()},()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,a),t.beginPath(),t.rect(i[a],r[a],s[a]-i[a],n[a]-r[a]),t.stroke()))}_clamp_viewport(){const t=this.renderer.plot_view.frame.bbox.h_range,e=this.renderer.plot_view.frame.bbox.v_range,i=this.stop.length;for(let s=0;sthis._update_image())}_update_image(){null!=this.image_data&&(this._set_data(null),this.renderer.plot_view.request_render())}_flat_img_to_buf8(e){return this.model.color_mapper.rgba_mapper.v_compute(e)}}a.ImageView=r,r.__name__=\"ImageView\";class o extends i.ImageBase{constructor(e){super(e)}static init_Image(){this.prototype.default_view=r,this.define({color_mapper:[s.Instance,()=>new n.LinearColorMapper({palette:[\"#000000\",\"#252525\",\"#525252\",\"#737373\",\"#969696\",\"#bdbdbd\",\"#d9d9d9\",\"#f0f0f0\",\"#ffffff\"]})]})}}a.Image=o,o.__name__=\"Image\",o.init_Image()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),a=e(93),h=e(24),_=i.__importStar(e(18)),n=e(88),r=e(9),d=e(30),l=e(11);class g extends a.XYGlyphView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,()=>this.renderer.request_render())}_render(e,t,{image_data:s,sx:i,sy:a,sw:h,sh:_}){const n=e.getImageSmoothingEnabled();e.setImageSmoothingEnabled(!1),e.globalAlpha=this.model.global_alpha;for(const n of t){if(null==s[n]||isNaN(i[n]+a[n]+h[n]+_[n]))continue;const t=a[n];e.translate(0,t),e.scale(1,-1),e.translate(0,-t),e.drawImage(s[n],0|i[n],0|a[n],h[n],_[n]),e.translate(0,t),e.scale(1,-1),e.translate(0,-t)}e.setImageSmoothingEnabled(n)}_set_data(e){this._set_width_heigh_data();for(let t=0,s=this._image.length;tthis.renderer.request_render())}_index_data(e){const{data_size:t}=this;for(let s=0;snull));const{retry_attempts:e,retry_timeout:t}=this.model;for(let s=0,r=this._url.length;s{this.image[s]=e,this.renderer.request_render()},attempts:e+1,timeout:t})}const s=\"data\"==this.model.properties.w.units,r=\"data\"==this.model.properties.h.units,i=this._x.length,n=new a.NumberArray(s?2*i:i),_=new a.NumberArray(r?2*i:i),{anchor:c}=this.model;function l(e,t){switch(c){case\"top_left\":case\"bottom_left\":case\"center_left\":return[e,e+t];case\"top_center\":case\"bottom_center\":case\"center\":return[e-t/2,e+t/2];case\"top_right\":case\"bottom_right\":case\"center_right\":return[e-t,e]}}function d(e,t){switch(c){case\"top_left\":case\"top_center\":case\"top_right\":return[e,e-t];case\"bottom_left\":case\"bottom_center\":case\"bottom_right\":return[e+t,e];case\"center_left\":case\"center\":case\"center_right\":return[e+t/2,e-t/2]}}if(s)for(let e=0;eNaN),t=null!=this.model.h?this._h:h.map(this._x,()=>NaN);switch(this.model.properties.w.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,e,\"edge\",this.model.dilate);break;case\"screen\":this.sw=e}switch(this.model.properties.h.units){case\"data\":this.sh=this.sdist(this.renderer.yscale,this._y,t,\"edge\",this.model.dilate);break;case\"screen\":this.sh=t}}_render(e,t,{image:s,sx:r,sy:i,sw:a,sh:n,_angle:h}){const{frame:o}=this.renderer.plot_view;e.rect(o.bbox.left+1,o.bbox.top+1,o.bbox.width-2,o.bbox.height-2),e.clip();let _=!0;for(const o of t){if(isNaN(r[o]+i[o]+h[o]))continue;const t=s[o];null!=t?this._render_image(e,o,t,r,i,a,n,h):_=!1}_&&!this._images_rendered&&(this._images_rendered=!0,this.notify_finished())}_final_sx_sy(e,t,s,r,i){switch(e){case\"top_left\":return[t,s];case\"top_center\":return[t-r/2,s];case\"top_right\":return[t-r,s];case\"center_right\":return[t-r,s-i/2];case\"bottom_right\":return[t-r,s-i];case\"bottom_center\":return[t-r/2,s-i];case\"bottom_left\":return[t,s-i];case\"center_left\":return[t,s-i/2];case\"center\":return[t-r/2,s-i/2]}}_render_image(e,t,s,r,i,a,n,h){isNaN(a[t])&&(a[t]=s.width),isNaN(n[t])&&(n[t]=s.height);const{anchor:o}=this.model,[_,c]=this._final_sx_sy(o,r[t],i[t],a[t],n[t]);e.save(),e.globalAlpha=this.model.global_alpha;const l=a[t]/2,d=n[t]/2;h[t]?(e.translate(_,c),e.translate(l,d),e.rotate(h[t]),e.translate(-l,-d),e.drawImage(s,0,0,a[t],n[t]),e.translate(l,d),e.rotate(-h[t]),e.translate(-l,-d),e.translate(-_,-c)):e.drawImage(s,_,c,a[t],n[t]),e.restore()}bounds(){return this._bounds_rect}}s.ImageURLView=_,_.__name__=\"ImageURLView\";class c extends i.XYGlyph{constructor(e){super(e)}static init_ImageURL(){this.prototype.default_view=_,this.define({url:[n.StringSpec],anchor:[n.Anchor,\"top_left\"],global_alpha:[n.Number,1],angle:[n.AngleSpec,0],w:[n.DistanceSpec],h:[n.DistanceSpec],dilate:[n.Boolean,!1],retry_attempts:[n.Number,0],retry_timeout:[n.Number,0]})}}s.ImageURL=c,c.__name__=\"ImageURL\",c.init_ImageURL()},\n", + " function _(i,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=i(19);class a{constructor(i,e={}){this._image=new Image,this._finished=!1;const{attempts:t=1,timeout:a=1}=e;this.promise=new Promise((o,n)=>{this._image.crossOrigin=\"anonymous\";let r=0;this._image.onerror=()=>{if(++r==t){const a=`unable to load ${i} image after ${t} attempts`;if(s.logger.warn(a),null==this._image.crossOrigin)return void(null!=e.failed&&e.failed());s.logger.warn(`attempting to load ${i} without a cross origin policy`),this._image.crossOrigin=null,r=0}setTimeout(()=>this._image.src=i,a)},this._image.onload=()=>{this._finished=!0,null!=e.loaded&&e.loaded(this._image),o(this._image)},this._image.src=i})}get finished(){return this._finished}get image(){return this._image}}t.ImageLoader=a,a.__name__=\"ImageLoader\"},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(37),o=e(28),l=s.__importStar(e(101)),r=s.__importStar(e(18)),_=e(12),c=e(13),a=e(94),h=e(100),d=e(88);class y extends a.GlyphView{_project_data(){n.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let i=0;i0&&o.set(e,i)}return new d.Selection({indices:[...o.keys()],multiline_indices:c.to_object(o)})}get_interpolation_hit(e,t,i){const s=this._xs.get(e),n=this._ys.get(e),o=s[t],l=n[t],r=s[t+1],_=n[t+1];return h.line_interpolation(this.renderer,i,o,l,r,_)}draw_legend_for_index(e,t,i){h.generic_line_legend(this.visuals,e,t,i)}scenterxy(){throw new Error(this+\".scenterxy() is not implemented\")}}i.MultiLineView=y,y.__name__=\"MultiLineView\";class x extends a.Glyph{constructor(e){super(e)}static init_MultiLine(){this.prototype.default_view=y,this.define({xs:[r.XCoordinateSeqSpec,{field:\"xs\"}],ys:[r.YCoordinateSeqSpec,{field:\"ys\"}]}),this.mixins(o.LineVector)}}i.MultiLine=x,x.__name__=\"MultiLine\",x.init_MultiLine()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),n=e(95),o=e(94),r=e(100),l=e(12),h=e(12),_=e(28),a=i.__importStar(e(101)),d=i.__importStar(e(18)),c=e(88),x=e(11);class y extends o.GlyphView{_project_data(){}_index_data(e){const{min:t,max:s}=Math,{data_size:i}=this;for(let n=0;n1&&d.length>1)for(let s=1,i=n.length;s{this._inner_loop(e,t,o),e.fill(\"evenodd\")},()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,n),this._inner_loop(e,t,o),e.stroke())}}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,o=[t,s,s,t],r=[i,i,n,n],[l,h]=this.renderer.xscale.r_invert(t,s),[_,d]=this.renderer.yscale.r_invert(i,n),x=this.index.indices({x0:l,x1:h,y0:_,y1:d}),y=[];for(const e of x){const t=this.sxs[e],s=this.sys[e];let i=!0;for(let e=0,n=t.length;e1){let r=!1;for(let e=1;ethis._inner_loop(e,t,r,e.fill),()=>this.renderer.request_render()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,n),this._inner_loop(e,t,r,e.stroke))}}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,r=[t,s,s,t],o=[i,i,n,n],[a,c]=this.renderer.xscale.r_invert(t,s),[h,d]=this.renderer.yscale.r_invert(i,n),y=this.index.indices({x0:a,x1:c,y0:h,y1:d}),p=[];for(const e of y){const t=this.sxs.get(e),s=this.sys.get(e);let i=!0;for(let e=0,n=t.length;e1&&(e.stroke(),s=!1)}s?(e.lineTo(t,a),e.lineTo(l,_)):(e.beginPath(),e.moveTo(i[r],n[r]),s=!0),o=r}e.lineTo(i[r-1],n[r-1]),e.stroke()}}draw_legend_for_index(e,t,i){o.generic_line_legend(this.visuals,e,t,i)}}i.StepView=a,a.__name__=\"StepView\";class _ extends s.XYGlyph{constructor(e){super(e)}static init_Step(){this.prototype.default_view=a,this.mixins(r.LineVector),this.define({mode:[l.StepMode,\"before\"]})}}i.Step=_,_.__name__=\"Step\",_.init_Step()},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(1),n=t(93),_=t(28),o=i.__importStar(t(101)),h=i.__importStar(t(18)),l=t(159),a=t(11),r=t(88);class c extends n.XYGlyphView{_rotate_point(t,s,e,i,n){return[(t-e)*Math.cos(n)-(s-i)*Math.sin(n)+e,(t-e)*Math.sin(n)+(s-i)*Math.cos(n)+i]}_text_bounds(t,s,e,i){return[[t,t+e,t+e,t,t],[s,s,s-i,s-i,s]]}_render(t,s,{sx:e,sy:i,_x_offset:n,_y_offset:_,_angle:o,_text:h}){this._sys=[],this._sxs=[];for(const a of s)if(this._sxs[a]=[],this._sys[a]=[],!isNaN(e[a]+i[a]+n[a]+_[a]+o[a])&&null!=h[a]&&this.visuals.text.doit){const s=\"\"+h[a];t.save(),t.translate(e[a]+n[a],i[a]+_[a]),t.rotate(o[a]),this.visuals.text.set_vectorize(t,a);const r=this.visuals.text.cache_select(\"font\",a),{height:c}=l.measure_font(r),x=this.visuals.text.text_line_height.value()*c;if(-1==s.indexOf(\"\\n\")){t.fillText(s,0,0);const o=e[a]+n[a],h=i[a]+_[a],l=t.measureText(s).width,[r,c]=this._text_bounds(o,h,l,x);this._sxs[a].push(r),this._sys[a].push(c)}else{const o=s.split(\"\\n\"),h=x*o.length,l=this.visuals.text.cache_select(\"text_baseline\",a);let r;switch(l){case\"top\":r=0;break;case\"middle\":r=-h/2+x/2;break;case\"bottom\":r=-h+x;break;default:r=0,console.warn(`'${l}' baseline not supported with multi line text`)}for(const s of o){t.fillText(s,0,r);const o=e[a]+n[a],h=r+i[a]+_[a],l=t.measureText(s).width,[c,u]=this._text_bounds(o,h,l,x);this._sxs[a].push(c),this._sys[a].push(u),r+=x}}t.restore()}}_hit_point(t){const{sx:s,sy:e}=t,i=[];for(let t=0;tthis.request_render())}_draw_regions(i){if(!this.visuals.band_fill.doit&&!this.visuals.band_hatch.doit)return;this.visuals.band_fill.set_value(i);const[e,t]=this.grid_coords(\"major\",!1);for(let s=0;s{i.fillRect(n[0],r[0],o[1]-n[0],d[1]-r[0])},()=>this.request_render())}}_draw_grids(i){if(!this.visuals.grid_line.doit)return;const[e,t]=this.grid_coords(\"major\");this._draw_grid_helper(i,this.visuals.grid_line,e,t)}_draw_minor_grids(i){if(!this.visuals.minor_grid_line.doit)return;const[e,t]=this.grid_coords(\"minor\");this._draw_grid_helper(i,this.visuals.minor_grid_line,e,t)}_draw_grid_helper(i,e,t,s){e.set_value(i),i.beginPath();for(let e=0;et[1]&&(n=t[1]);else{[s,n]=t;for(const i of this.plot_view.axis_views)i.dimension==this.model.dimension&&i.model.x_range_name==this.model.x_range_name&&i.model.y_range_name==this.model.y_range_name&&([s,n]=i.computed_bounds)}return[s,n]}grid_coords(i,e=!0){const t=this.model.dimension,s=(t+1)%2,[n,r]=this.ranges();let[o,d]=this.computed_bounds();[o,d]=[Math.min(o,d),Math.max(o,d)];const _=[[],[]],a=this.model.get_ticker();if(null==a)return _;const l=a.get_ticks(o,d,n,r.min,{})[i],h=n.min,c=n.max,u=r.min,m=r.max;e||(l[0]!=h&&l.splice(0,0,h),l[l.length-1]!=c&&l.push(c));for(let i=0;ithis.rebuild())}get child_models(){return this.model.children}}i.BoxView=c,c.__name__=\"BoxView\";class r extends s.LayoutDOM{constructor(e){super(e)}static init_Box(){this.define({children:[o.Array,[]],spacing:[o.Number,0]})}}i.Box=r,r.__name__=\"Box\",r.init_Box()},\n", + " function _(i,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=i(81),o=i(20),l=i(72),n=i(19),h=i(8),a=i(115),r=i(78),_=i(212),d=i(273),c=i(77);class u extends r.DOMView{constructor(){super(...arguments),this._idle_notified=!1,this._offset_parent=null,this._viewport={}}initialize(){super.initialize(),this.el.style.position=this.is_root?\"relative\":\"absolute\",this._child_views=new Map}async lazy_initialize(){await this.build_child_views()}remove(){for(const i of this.child_views)i.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.is_root&&(this._on_resize=()=>this.resize_layout(),window.addEventListener(\"resize\",this._on_resize),this._parent_observer=setInterval(()=>{const i=this.el.offsetParent;this._offset_parent!=i&&(this._offset_parent=i,null!=i&&(this.compute_viewport(),this.invalidate_layout()))},250));const i=this.model.properties;this.on_change([i.width,i.height,i.min_width,i.min_height,i.max_width,i.max_height,i.margin,i.width_policy,i.height_policy,i.sizing_mode,i.aspect_ratio,i.visible],()=>this.invalidate_layout()),this.on_change([i.background,i.css_classes],()=>this.invalidate_render())}disconnect_signals(){null!=this._parent_observer&&clearTimeout(this._parent_observer),null!=this._on_resize&&window.removeEventListener(\"resize\",this._on_resize),super.disconnect_signals()}css_classes(){return super.css_classes().concat(this.model.css_classes)}get child_views(){return this.child_models.map(i=>this._child_views.get(i))}async build_child_views(){await a.build_views(this._child_views,this.child_models,{parent:this})}render(){super.render(),l.empty(this.el);const{background:i}=this.model;this.el.style.backgroundColor=null!=i?i:\"\",l.classes(this.el).clear().add(...this.css_classes());for(const i of this.child_views)this.el.appendChild(i.el),i.render()}update_layout(){for(const i of this.child_views)i.update_layout();this._update_layout()}update_position(){this.el.style.display=this.model.visible?\"block\":\"none\";const i=this.is_root?this.layout.sizing.margin:void 0;l.position(this.el,this.layout.bbox,i);for(const i of this.child_views)i.update_position()}after_layout(){for(const i of this.child_views)i.after_layout();this._has_finished=!0}compute_viewport(){this._viewport=this._viewport_size()}renderTo(i){i.appendChild(this.el),this._offset_parent=this.el.offsetParent,this.compute_viewport(),this.build()}build(){return this.assert_root(),this.render(),this.update_layout(),this.compute_layout(),this}async rebuild(){await this.build_child_views(),this.invalidate_render()}compute_layout(){const i=Date.now();this.layout.compute(this._viewport),this.update_position(),this.after_layout(),n.logger.debug(`layout computed in ${Date.now()-i} ms`),this.notify_finished()}resize_layout(){this.root.compute_viewport(),this.root.compute_layout()}invalidate_layout(){this.root.update_layout(),this.root.compute_layout()}invalidate_render(){this.render(),this.invalidate_layout()}has_finished(){if(!super.has_finished())return!1;for(const i of this.child_views)if(!i.has_finished())return!1;return!0}notify_finished(){this.is_root?!this._idle_notified&&this.has_finished()&&null!=this.model.document&&(this._idle_notified=!0,this.model.document.notify_idle(this.model)):this.root.notify_finished()}_width_policy(){return null!=this.model.width?\"fixed\":\"fit\"}_height_policy(){return null!=this.model.height?\"fixed\":\"fit\"}box_sizing(){let{width_policy:i,height_policy:t,aspect_ratio:e}=this.model;\"auto\"==i&&(i=this._width_policy()),\"auto\"==t&&(t=this._height_policy());const{sizing_mode:s}=this.model;if(null!=s)if(\"fixed\"==s)i=t=\"fixed\";else if(\"stretch_both\"==s)i=t=\"max\";else if(\"stretch_width\"==s)i=\"max\";else if(\"stretch_height\"==s)t=\"max\";else switch(null==e&&(e=\"auto\"),s){case\"scale_width\":i=\"max\",t=\"min\";break;case\"scale_height\":i=\"min\",t=\"max\";break;case\"scale_both\":i=\"max\",t=\"max\"}const o={width_policy:i,height_policy:t},{min_width:l,min_height:n}=this.model;null!=l&&(o.min_width=l),null!=n&&(o.min_height=n);const{width:a,height:r}=this.model;null!=a&&(o.width=a),null!=r&&(o.height=r);const{max_width:_,max_height:d}=this.model;null!=_&&(o.max_width=_),null!=d&&(o.max_height=d),\"auto\"==e&&null!=a&&null!=r?o.aspect=a/r:h.isNumber(e)&&(o.aspect=e);const{margin:c}=this.model;if(null!=c)if(h.isNumber(c))o.margin={top:c,right:c,bottom:c,left:c};else if(2==c.length){const[i,t]=c;o.margin={top:i,right:t,bottom:i,left:t}}else{const[i,t,e,s]=c;o.margin={top:i,right:t,bottom:e,left:s}}o.visible=this.model.visible;const{align:u}=this.model;return h.isArray(u)?[o.halign,o.valign]=u:o.halign=o.valign=u,o}_viewport_size(){return l.undisplayed(this.el,()=>{let i=this.el;for(;i=i.parentElement;){if(i.classList.contains(d.bk_root))continue;if(i==document.body){const{margin:{left:i,right:t,top:e,bottom:s}}=l.extents(document.body);return{width:Math.ceil(document.documentElement.clientWidth-i-t),height:Math.ceil(document.documentElement.clientHeight-e-s)}}const{padding:{left:t,right:e,top:s,bottom:o}}=l.extents(i),{width:n,height:h}=i.getBoundingClientRect(),a=Math.ceil(n-t-e),r=Math.ceil(h-s-o);if(a>0||r>0)return{width:a>0?a:void 0,height:r>0?r:void 0}}return{}})}export(i,t=!0){const e=\"png\"==i?\"canvas\":\"svg\",s=new c.CanvasLayer(e,t),{width:o,height:l}=this.layout.bbox;s.resize(o,l);for(const e of this.child_views){const o=e.export(i,t),{x:l,y:n}=e.layout.bbox;s.ctx.drawImage(o.canvas,l,n)}return s}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box,children:this.child_views.map(i=>i.serializable_state())})}}e.LayoutDOMView=u,u.__name__=\"LayoutDOMView\";class m extends s.Model{constructor(i){super(i)}static init_LayoutDOM(){this.define(i=>{const{Boolean:t,Number:e,String:s,Null:l,Auto:n,Color:h,Array:a,Tuple:r,Or:d}=i,c=r(e,e),u=r(e,e,e,e);return{width:[d(e,l),null],height:[d(e,l),null],min_width:[d(e,l),null],min_height:[d(e,l),null],max_width:[d(e,l),null],max_height:[d(e,l),null],margin:[d(e,c,u),[0,0,0,0]],width_policy:[d(_.SizingPolicy,n),\"auto\"],height_policy:[d(_.SizingPolicy,n),\"auto\"],aspect_ratio:[d(e,n,l),null],sizing_mode:[d(o.SizingMode,l),null],visible:[t,!0],disabled:[t,!1],align:[d(o.Align,r(o.Align,o.Align)),\"start\"],background:[d(h,l),null],css_classes:[a(s),[]]}})}}e.LayoutDOM=m,m.__name__=\"LayoutDOM\",m.init_LayoutDOM()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bk_root=\"bk-root\"},\n", + " function _(t,o,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),e=t(271),n=t(216),l=s.__importStar(t(18));class u extends e.BoxView{_update_layout(){const t=this.child_views.map(t=>t.layout);this.layout=new n.Column(t),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}}i.ColumnView=u,u.__name__=\"ColumnView\";class _ extends e.Box{constructor(t){super(t)}static init_Column(){this.prototype.default_view=u,this.define({rows:[l.Any,\"auto\"]})}}i.Column=_,_.__name__=\"Column\",_.init_Column()},\n", + " function _(t,i,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=t(1),e=t(272),n=t(216),l=o.__importStar(t(18));class r extends e.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,()=>this.rebuild())}get child_models(){return this.model.children.map(([t])=>t)}_update_layout(){this.layout=new n.Grid,this.layout.rows=this.model.rows,this.layout.cols=this.model.cols,this.layout.spacing=this.model.spacing;for(const[t,i,s,o,e]of this.model.children){const n=this._child_views.get(t);this.layout.items.push({layout:n.layout,row:i,col:s,row_span:o,col_span:e})}this.layout.set_sizing(this.box_sizing())}}s.GridBoxView=r,r.__name__=\"GridBoxView\";class a extends e.LayoutDOM{constructor(t){super(t)}static init_GridBox(){this.prototype.default_view=r,this.define({children:[l.Array,[]],rows:[l.Any,\"auto\"],cols:[l.Any,\"auto\"],spacing:[l.Any,0]})}}s.GridBox=a,a.__name__=\"GridBox\",a.init_GridBox()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(272),_=e(212);class n extends s.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new _.ContentBox(this.el),this.layout.set_sizing(this.box_sizing())}}o.HTMLBoxView=n,n.__name__=\"HTMLBoxView\";class i extends s.LayoutDOM{constructor(e){super(e)}}o.HTMLBox=i,i.__name__=\"HTMLBox\"},\n", + " function _(t,o,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),e=t(271),_=t(216),a=s.__importStar(t(18));class n extends e.BoxView{_update_layout(){const t=this.child_views.map(t=>t.layout);this.layout=new _.Row(t),this.layout.cols=this.model.cols,this.layout.spacing=[0,this.model.spacing],this.layout.set_sizing(this.box_sizing())}}i.RowView=n,n.__name__=\"RowView\";class l extends e.Box{constructor(t){super(t)}static init_Row(){this.prototype.default_view=n,this.define({cols:[a.Any,\"auto\"]})}}i.Row=l,l.__name__=\"Row\",l.init_Row()},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const i=e(272),s=e(212);class _ extends i.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new s.LayoutItem,this.layout.set_sizing(this.box_sizing())}}a.SpacerView=_,_.__name__=\"SpacerView\";class o extends i.LayoutDOM{constructor(e){super(e)}static init_Spacer(){this.prototype.default_view=_}}a.Spacer=o,o.__name__=\"Spacer\",o.init_Spacer()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),a=e(212),l=e(72),h=e(9),o=i.__importStar(e(18)),c=e(272),d=e(81),r=e(173),n=e(280),_=e(281),b=e(282),p=i.__importDefault(e(283)),u=i.__importDefault(e(284)),m=i.__importDefault(e(285));class v extends c.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.tabs.change,()=>this.rebuild()),this.connect(this.model.properties.active.change,()=>this.on_active_change())}styles(){return[...super.styles(),p.default,u.default,m.default]}get child_models(){return this.model.tabs.map(e=>e.child)}_update_layout(){const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,{scroll_el:s,headers_el:i}=this;this.header=new class extends a.ContentBox{_measure(e){const a=l.size(s),o=l.children(i).slice(0,3).map(e=>l.size(e)),{width:c,height:d}=super._measure(e);if(t){const t=a.width+h.sum(o.map(e=>e.width));return{width:e.width!=1/0?e.width:t,height:d}}{const t=a.height+h.sum(o.map(e=>e.height));return{width:c,height:e.height!=1/0?e.height:t}}}}(this.header_el),t?this.header.set_sizing({width_policy:\"fit\",height_policy:\"fixed\"}):this.header.set_sizing({width_policy:\"fixed\",height_policy:\"fit\"});let o=1,c=1;switch(e){case\"above\":o-=1;break;case\"below\":o+=1;break;case\"left\":c-=1;break;case\"right\":c+=1}const d={layout:this.header,row:o,col:c},r=this.child_views.map(e=>({layout:e.layout,row:1,col:1}));this.layout=new a.Grid([d,...r]),this.layout.set_sizing(this.box_sizing())}update_position(){super.update_position(),this.header_el.style.position=\"absolute\",l.position(this.header_el,this.header.bbox);const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,s=l.size(this.scroll_el),i=l.scroll_size(this.headers_el);if(t){const{width:e}=this.header.bbox;i.width>e?(this.wrapper_el.style.maxWidth=e-s.width+\"px\",l.display(this.scroll_el)):(this.wrapper_el.style.maxWidth=\"\",l.undisplay(this.scroll_el))}else{const{height:e}=this.header.bbox;i.height>e?(this.wrapper_el.style.maxHeight=e-s.height+\"px\",l.display(this.scroll_el)):(this.wrapper_el.style.maxHeight=\"\",l.undisplay(this.scroll_el))}const{child_views:a}=this;for(const e of a)l.hide(e.el);const h=a[this.model.active];null!=h&&l.show(h.el)}render(){super.render();const{active:e}=this.model,t=this.model.tabs_location,s=\"above\"==t||\"below\"==t,i=this.model.tabs.map((t,s)=>{const i=l.div({class:[n.bk_tab,s==e?r.bk_active:null]},t.title);if(i.addEventListener(\"click\",e=>{e.target==e.currentTarget&&this.change_active(s)}),t.closable){const e=l.div({class:n.bk_close});e.addEventListener(\"click\",e=>{if(e.target==e.currentTarget){this.model.tabs=h.remove_at(this.model.tabs,s);const e=this.model.tabs.length;this.model.active>e-1&&(this.model.active=e-1)}}),i.appendChild(e)}return i});this.headers_el=l.div({class:[n.bk_headers]},i),this.wrapper_el=l.div({class:n.bk_headers_wrapper},this.headers_el);const a=l.div({class:[_.bk_btn,_.bk_btn_default],disabled:\"\"},l.div({class:[b.bk_caret,r.bk_left]})),o=l.div({class:[_.bk_btn,_.bk_btn_default]},l.div({class:[b.bk_caret,r.bk_right]}));let c=0;const d=e=>()=>{const t=this.model.tabs.length;c=\"left\"==e?Math.max(c-1,0):Math.min(c+1,t-1),0==c?a.setAttribute(\"disabled\",\"\"):a.removeAttribute(\"disabled\"),c==t-1?o.setAttribute(\"disabled\",\"\"):o.removeAttribute(\"disabled\");const i=l.children(this.headers_el).slice(0,c).map(e=>e.getBoundingClientRect());if(s){const e=-h.sum(i.map(e=>e.width));this.headers_el.style.left=e+\"px\"}else{const e=-h.sum(i.map(e=>e.height));this.headers_el.style.top=e+\"px\"}};a.addEventListener(\"click\",d(\"left\")),o.addEventListener(\"click\",d(\"right\")),this.scroll_el=l.div({class:_.bk_btn_group},a,o),this.header_el=l.div({class:[n.bk_tabs_header,r.bk_side(t)]},this.scroll_el,this.wrapper_el),this.el.appendChild(this.header_el)}change_active(e){e!=this.model.active&&(this.model.active=e)}on_active_change(){const e=this.model.active,t=l.children(this.headers_el);for(const e of t)e.classList.remove(r.bk_active);t[e].classList.add(r.bk_active);const{child_views:s}=this;for(const e of s)l.hide(e.el);l.show(s[e].el)}}s.TabsView=v,v.__name__=\"TabsView\";class g extends c.LayoutDOM{constructor(e){super(e)}static init_Tabs(){this.prototype.default_view=v,this.define({tabs:[o.Array,[]],tabs_location:[o.Location,\"above\"],active:[o.Number,0]})}}s.Tabs=g,g.__name__=\"Tabs\",g.init_Tabs();class w extends d.Model{constructor(e){super(e)}static init_Panel(){this.define({title:[o.String,\"\"],child:[o.Instance],closable:[o.Boolean,!1]})}}s.Panel=w,w.__name__=\"Panel\",w.init_Panel()},\n", + " function _(e,b,a){Object.defineProperty(a,\"__esModule\",{value:!0}),a.bk_tabs_header=\"bk-tabs-header\",a.bk_headers_wrapper=\"bk-headers-wrapper\",a.bk_headers=\"bk-headers\",a.bk_tab=\"bk-tab\",a.bk_close=\"bk-close\"},\n", + " function _(n,b,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bk_btn=\"bk-btn\",t.bk_btn_group=\"bk-btn-group\",t.bk_btn_default=\"bk-btn-default\",t.bk_btn_primary=\"bk-btn-primary\",t.bk_btn_success=\"bk-btn-success\",t.bk_btn_warning=\"bk-btn-warning\",t.bk_btn_danger=\"bk-btn-danger\",t.bk_btn_type=function(n){switch(n){case\"default\":return t.bk_btn_default;case\"primary\":return t.bk_btn_primary;case\"success\":return t.bk_btn_success;case\"warning\":return t.bk_btn_warning;case\"danger\":return t.bk_btn_danger}},t.bk_dropdown_toggle=\"bk-dropdown-toggle\"},\n", + " function _(e,b,d){Object.defineProperty(d,\"__esModule\",{value:!0}),d.bk_menu=\"bk-menu\",d.bk_caret=\"bk-caret\",d.bk_divider=\"bk-divider\"},\n", + " function _(n,o,b){Object.defineProperty(b,\"__esModule\",{value:!0});b.default=\"\\n.bk-root .bk-btn {\\n height: 100%;\\n display: inline-block;\\n text-align: center;\\n vertical-align: middle;\\n white-space: nowrap;\\n cursor: pointer;\\n padding: 6px 12px;\\n font-size: 12px;\\n border: 1px solid transparent;\\n border-radius: 4px;\\n outline: 0;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n.bk-root .bk-btn:hover,\\n.bk-root .bk-btn:focus {\\n text-decoration: none;\\n}\\n.bk-root .bk-btn:active,\\n.bk-root .bk-btn.bk-active {\\n background-image: none;\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n}\\n.bk-root .bk-btn[disabled] {\\n cursor: not-allowed;\\n pointer-events: none;\\n opacity: 0.65;\\n box-shadow: none;\\n}\\n.bk-root .bk-btn-default {\\n color: #333;\\n background-color: #fff;\\n border-color: #ccc;\\n}\\n.bk-root .bk-btn-default:hover {\\n background-color: #f5f5f5;\\n border-color: #b8b8b8;\\n}\\n.bk-root .bk-btn-default.bk-active {\\n background-color: #ebebeb;\\n border-color: #adadad;\\n}\\n.bk-root .bk-btn-default[disabled],\\n.bk-root .bk-btn-default[disabled]:hover,\\n.bk-root .bk-btn-default[disabled]:focus,\\n.bk-root .bk-btn-default[disabled]:active,\\n.bk-root .bk-btn-default[disabled].bk-active {\\n background-color: #e6e6e6;\\n border-color: #ccc;\\n}\\n.bk-root .bk-btn-primary {\\n color: #fff;\\n background-color: #428bca;\\n border-color: #357ebd;\\n}\\n.bk-root .bk-btn-primary:hover {\\n background-color: #3681c1;\\n border-color: #2c699e;\\n}\\n.bk-root .bk-btn-primary.bk-active {\\n background-color: #3276b1;\\n border-color: #285e8e;\\n}\\n.bk-root .bk-btn-primary[disabled],\\n.bk-root .bk-btn-primary[disabled]:hover,\\n.bk-root .bk-btn-primary[disabled]:focus,\\n.bk-root .bk-btn-primary[disabled]:active,\\n.bk-root .bk-btn-primary[disabled].bk-active {\\n background-color: #506f89;\\n border-color: #357ebd;\\n}\\n.bk-root .bk-btn-success {\\n color: #fff;\\n background-color: #5cb85c;\\n border-color: #4cae4c;\\n}\\n.bk-root .bk-btn-success:hover {\\n background-color: #4eb24e;\\n border-color: #409240;\\n}\\n.bk-root .bk-btn-success.bk-active {\\n background-color: #47a447;\\n border-color: #398439;\\n}\\n.bk-root .bk-btn-success[disabled],\\n.bk-root .bk-btn-success[disabled]:hover,\\n.bk-root .bk-btn-success[disabled]:focus,\\n.bk-root .bk-btn-success[disabled]:active,\\n.bk-root .bk-btn-success[disabled].bk-active {\\n background-color: #667b66;\\n border-color: #4cae4c;\\n}\\n.bk-root .bk-btn-warning {\\n color: #fff;\\n background-color: #f0ad4e;\\n border-color: #eea236;\\n}\\n.bk-root .bk-btn-warning:hover {\\n background-color: #eea43b;\\n border-color: #e89014;\\n}\\n.bk-root .bk-btn-warning.bk-active {\\n background-color: #ed9c28;\\n border-color: #d58512;\\n}\\n.bk-root .bk-btn-warning[disabled],\\n.bk-root .bk-btn-warning[disabled]:hover,\\n.bk-root .bk-btn-warning[disabled]:focus,\\n.bk-root .bk-btn-warning[disabled]:active,\\n.bk-root .bk-btn-warning[disabled].bk-active {\\n background-color: #c89143;\\n border-color: #eea236;\\n}\\n.bk-root .bk-btn-danger {\\n color: #fff;\\n background-color: #d9534f;\\n border-color: #d43f3a;\\n}\\n.bk-root .bk-btn-danger:hover {\\n background-color: #d5433e;\\n border-color: #bd2d29;\\n}\\n.bk-root .bk-btn-danger.bk-active {\\n background-color: #d2322d;\\n border-color: #ac2925;\\n}\\n.bk-root .bk-btn-danger[disabled],\\n.bk-root .bk-btn-danger[disabled]:hover,\\n.bk-root .bk-btn-danger[disabled]:focus,\\n.bk-root .bk-btn-danger[disabled]:active,\\n.bk-root .bk-btn-danger[disabled].bk-active {\\n background-color: #a55350;\\n border-color: #d43f3a;\\n}\\n.bk-root .bk-btn-group {\\n height: 100%;\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-btn-group > .bk-btn {\\n flex-grow: 1;\\n -webkit-flex-grow: 1;\\n}\\n.bk-root .bk-btn-group > .bk-btn + .bk-btn {\\n margin-left: -1px;\\n}\\n.bk-root .bk-btn-group > .bk-btn:first-child:not(:last-child) {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n.bk-root .bk-btn-group > .bk-btn:not(:first-child):last-child {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n.bk-root .bk-btn-group > .bk-btn:not(:first-child):not(:last-child) {\\n border-radius: 0;\\n}\\n.bk-root .bk-btn-group .bk-dropdown-toggle {\\n flex: 0 0 0;\\n -webkit-flex: 0 0 0;\\n padding: 6px 6px;\\n}\\n\"},\n", + " function _(n,o,r){Object.defineProperty(r,\"__esModule\",{value:!0});r.default=\"\\n.bk-root .bk-menu-icon {\\n width: 28px;\\n height: 28px;\\n background-size: 60%;\\n background-color: transparent;\\n background-repeat: no-repeat;\\n background-position: center center;\\n}\\n.bk-root .bk-context-menu {\\n position: absolute;\\n display: inline-flex;\\n display: -webkit-inline-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n width: auto;\\n height: auto;\\n z-index: 100;\\n cursor: pointer;\\n font-size: 12px;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n.bk-root .bk-context-menu.bk-horizontal {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-context-menu.bk-vertical {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-context-menu > .bk-divider {\\n cursor: default;\\n overflow: hidden;\\n background-color: #e5e5e5;\\n}\\n.bk-root .bk-context-menu.bk-horizontal > .bk-divider {\\n width: 1px;\\n margin: 5px 0;\\n}\\n.bk-root .bk-context-menu.bk-vertical > .bk-divider {\\n height: 1px;\\n margin: 0 5px;\\n}\\n.bk-root .bk-context-menu > :not(.bk-divider) {\\n border: 1px solid transparent;\\n}\\n.bk-root .bk-context-menu > :not(.bk-divider).bk-active {\\n border-color: #26aae1;\\n}\\n.bk-root .bk-context-menu > :not(.bk-divider):hover {\\n background-color: #f9f9f9;\\n}\\n.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):first-child {\\n border-top-left-radius: 4px;\\n border-bottom-left-radius: 4px;\\n}\\n.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):last-child {\\n border-top-right-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):first-child {\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n}\\n.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):last-child {\\n border-bottom-left-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n.bk-root .bk-menu {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n z-index: 100;\\n cursor: pointer;\\n font-size: 12px;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n.bk-root .bk-menu.bk-above {\\n bottom: 100%;\\n}\\n.bk-root .bk-menu.bk-below {\\n top: 100%;\\n}\\n.bk-root .bk-menu > .bk-divider {\\n height: 1px;\\n margin: 7.5px 0;\\n overflow: hidden;\\n background-color: #e5e5e5;\\n}\\n.bk-root .bk-menu > :not(.bk-divider) {\\n padding: 6px 12px;\\n}\\n.bk-root .bk-menu > :not(.bk-divider):hover,\\n.bk-root .bk-menu > :not(.bk-divider).bk-active {\\n background-color: #e6e6e6;\\n}\\n.bk-root .bk-caret {\\n display: inline-block;\\n vertical-align: middle;\\n width: 0;\\n height: 0;\\n margin: 0 5px;\\n}\\n.bk-root .bk-caret.bk-down {\\n border-top: 4px solid;\\n}\\n.bk-root .bk-caret.bk-up {\\n border-bottom: 4px solid;\\n}\\n.bk-root .bk-caret.bk-down,\\n.bk-root .bk-caret.bk-up {\\n border-right: 4px solid transparent;\\n border-left: 4px solid transparent;\\n}\\n.bk-root .bk-caret.bk-left {\\n border-right: 4px solid;\\n}\\n.bk-root .bk-caret.bk-right {\\n border-left: 4px solid;\\n}\\n.bk-root .bk-caret.bk-left,\\n.bk-root .bk-caret.bk-right {\\n border-top: 4px solid transparent;\\n border-bottom: 4px solid transparent;\\n}\\n\"},\n", + " function _(e,r,n){Object.defineProperty(n,\"__esModule\",{value:!0});n.default='\\n.bk-root .bk-tabs-header {\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n overflow: hidden;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n.bk-root .bk-tabs-header .bk-btn-group {\\n height: auto;\\n margin-right: 5px;\\n}\\n.bk-root .bk-tabs-header .bk-btn-group > .bk-btn {\\n flex-grow: 0;\\n -webkit-flex-grow: 0;\\n height: auto;\\n padding: 4px 4px;\\n}\\n.bk-root .bk-tabs-header .bk-headers-wrapper {\\n flex-grow: 1;\\n -webkit-flex-grow: 1;\\n overflow: hidden;\\n color: #666666;\\n}\\n.bk-root .bk-tabs-header.bk-above .bk-headers-wrapper {\\n border-bottom: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-right .bk-headers-wrapper {\\n border-left: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-below .bk-headers-wrapper {\\n border-top: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-left .bk-headers-wrapper {\\n border-right: 1px solid #e6e6e6;\\n}\\n.bk-root .bk-tabs-header.bk-above,\\n.bk-root .bk-tabs-header.bk-below {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-tabs-header.bk-above .bk-headers,\\n.bk-root .bk-tabs-header.bk-below .bk-headers {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-tabs-header.bk-left,\\n.bk-root .bk-tabs-header.bk-right {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-tabs-header.bk-left .bk-headers,\\n.bk-root .bk-tabs-header.bk-right .bk-headers {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-tabs-header .bk-headers {\\n position: relative;\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n}\\n.bk-root .bk-tabs-header .bk-tab {\\n padding: 4px 8px;\\n border: solid transparent;\\n white-space: nowrap;\\n cursor: pointer;\\n}\\n.bk-root .bk-tabs-header .bk-tab:hover {\\n background-color: #f2f2f2;\\n}\\n.bk-root .bk-tabs-header .bk-tab.bk-active {\\n color: #4d4d4d;\\n background-color: white;\\n border-color: #e6e6e6;\\n}\\n.bk-root .bk-tabs-header .bk-tab .bk-close {\\n margin-left: 10px;\\n}\\n.bk-root .bk-tabs-header.bk-above .bk-tab {\\n border-width: 3px 1px 0px 1px;\\n border-radius: 4px 4px 0 0;\\n}\\n.bk-root .bk-tabs-header.bk-right .bk-tab {\\n border-width: 1px 3px 1px 0px;\\n border-radius: 0 4px 4px 0;\\n}\\n.bk-root .bk-tabs-header.bk-below .bk-tab {\\n border-width: 0px 1px 3px 1px;\\n border-radius: 0 0 4px 4px;\\n}\\n.bk-root .bk-tabs-header.bk-left .bk-tab {\\n border-width: 1px 0px 1px 3px;\\n border-radius: 4px 0 0 4px;\\n}\\n.bk-root .bk-close {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n background-image: url(\\'data:image/svg+xml;utf8, \\');\\n}\\n.bk-root .bk-close:hover {\\n background-image: url(\\'data:image/svg+xml;utf8, \\');\\n}\\n'},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const o=e(274);class _ extends o.ColumnView{}i.WidgetBoxView=_,_.__name__=\"WidgetBoxView\";class n extends o.Column{constructor(e){super(e)}static init_WidgetBox(){this.prototype.default_view=_}}i.WidgetBox=n,n.__name__=\"WidgetBox\",n.init_WidgetBox()},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});e(1).__exportStar(e(288),t);var a=e(289);t.Marker=a.Marker;var _=e(290);t.Scatter=_.Scatter},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const i=e(1),r=e(289),n=i.__importStar(e(238)),s=Math.sqrt(3);function c(e,t){e.rotate(Math.PI/4),a(e,t),e.rotate(-Math.PI/4)}function l(e,t){const o=t*s,i=o/3;e.moveTo(-o/2,-i),e.lineTo(0,0),e.lineTo(o/2,-i),e.lineTo(0,0),e.lineTo(0,t)}function a(e,t){e.moveTo(0,t),e.lineTo(0,-t),e.moveTo(-t,0),e.lineTo(t,0)}function u(e,t){e.moveTo(0,t),e.lineTo(t/1.5,0),e.lineTo(0,-t),e.lineTo(-t/1.5,0),e.closePath()}function d(e,t){const o=t*s,i=o/3;e.moveTo(-t,i),e.lineTo(t,i),e.lineTo(0,i-o),e.closePath()}function v(e,t,o,i,r){a(e,o),c(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function _(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function f(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),a(e,o),e.stroke())}function T(e,t,o,i,r){_(e,t,o,i,r),P(e,t,o,i,r)}function z(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),l(e,o),e.stroke())}function C(e,t,o,i,r){e.arc(0,0,o,0,2*Math.PI,!1),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),c(e,o),e.stroke())}function k(e,t,o,i,r){a(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function m(e,t,o,i,r){u(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function h(e,t,o,i,r){u(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.moveTo(0,o),e.lineTo(0,-o),e.moveTo(-o/1.5,0),e.lineTo(o/1.5,0),e.stroke())}function q(e,t,o,i,r){m(e,t,o,i,r),P(e,t,o,i,r)}function P(e,t,o,i,r){!function(e,t){e.beginPath(),e.arc(0,0,t/4,0,2*Math.PI,!1),e.closePath()}(e,o),i.set_vectorize(e,t),e.fillStyle=e.strokeStyle,e.fill()}function D(e,t,o,i,r){!function(e,t){const o=t/2,i=s*o;e.moveTo(t,0),e.lineTo(o,-i),e.lineTo(-o,-i),e.lineTo(-t,0),e.lineTo(-o,i),e.lineTo(o,i),e.closePath()}(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function g(e,t,o,i,r){D(e,t,o,i,r),P(e,t,o,i)}function S(e,t,o,i,r){e.rotate(Math.PI),d(e,o),e.rotate(-Math.PI),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function G(e,t,o,i,r){const n=3*o/8,s=[n,n,o,o,n,n,-n,-n,-o,-o,-n,-n],c=[o,n,n,-n,-n,-o,-o,-n,-n,n,n,o];for(e.moveTo(s[0],c[0]),t=1;t<12;t++)e.lineTo(s[t],c[t]);e.closePath(),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function L(e,t,o,i,r){const n=2*o;e.rect(-o,-o,n,n),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function M(e,t,o,i,r){const n=3*o/8;e.moveTo(-o,-o),e.quadraticCurveTo(0,-n,o,-o),e.quadraticCurveTo(n,0,o,o),e.quadraticCurveTo(0,n,-o,o),e.quadraticCurveTo(-n,0,-o,-o),e.closePath(),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function p(e,t,o,i,r){const n=2*o;e.rect(-o,-o,n,n),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),a(e,o),e.stroke())}function x(e,t,o,i,r){L(e,t,o,i,r),P(e,t,o,i)}function I(e,t,o,i,r){const n=2*o;e.rect(-o,-o,n,n),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.moveTo(-o,o),e.lineTo(o,-o),e.moveTo(-o,-o),e.lineTo(o,o),e.stroke())}function y(e,t,o,i,r){d(e,o),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function X(e,t,o,i,r){y(e,t,o,i,r),P(e,t,o,i)}function H(e,t,o,i,r){const n=o*s,c=n/3,l=3*c/8;e.moveTo(-o,c),e.quadraticCurveTo(0,l,o,c),e.quadraticCurveTo(s*l/2,l/2,0,c-n),e.quadraticCurveTo(-s*l/2,l/2,-o,c),e.closePath(),r.doit&&(r.set_vectorize(e,t),e.fill()),i.doit&&(i.set_vectorize(e,t),e.stroke())}function Y(e,t,o,i,r){!function(e,t){e.moveTo(-t,0),e.lineTo(t,0)}(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function A(e,t,o,i,r){c(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function b(e,t,o,i,r){l(e,o),i.doit&&(i.set_vectorize(e,t),e.stroke())}function w(e,t,o){var i;const n=class extends r.MarkerView{static initClass(){this.prototype._render_one=t,this.prototype.glglyph_cls=o}};n.initClass();const s=((i=class extends r.Marker{static initClass(){this.prototype.default_view=n}}).__name__=e,i);return s.initClass(),s}o.Asterisk=w(\"Asterisk\",v,n.AsteriskGL),o.CircleCross=w(\"CircleCross\",f,n.CircleCrossGL),o.CircleDot=w(\"CircleDot\",T),o.CircleY=w(\"CircleY\",z),o.CircleX=w(\"CircleX\",C,n.CircleXGL),o.Cross=w(\"Cross\",k,n.CrossGL),o.Dash=w(\"Dash\",Y),o.Diamond=w(\"Diamond\",m,n.DiamondGL),o.DiamondCross=w(\"DiamondCross\",h,n.DiamondCrossGL),o.DiamondDot=w(\"DiamondDot\",q),o.Dot=w(\"Dot\",P),o.Hex=w(\"Hex\",D,n.HexGL),o.HexDot=w(\"HexDot\",g),o.InvertedTriangle=w(\"InvertedTriangle\",S,n.InvertedTriangleGL),o.Plus=w(\"Plus\",G),o.Square=w(\"Square\",L,n.SquareGL),o.SquareCross=w(\"SquareCross\",p,n.SquareCrossGL),o.SquareDot=w(\"SquareDot\",x),o.SquarePin=w(\"SquarePin\",M),o.SquareX=w(\"SquareX\",I,n.SquareXGL),o.Triangle=w(\"Triangle\",y,n.TriangleGL),o.TriangleDot=w(\"TriangleDot\",X),o.TrianglePin=w(\"TrianglePin\",H),o.X=w(\"X\",A,n.XGL),o.Y=w(\"Y\",b),o.marker_funcs={asterisk:v,circle:_,circle_cross:f,circle_dot:T,circle_y:z,circle_x:C,cross:k,diamond:m,diamond_dot:q,diamond_cross:h,dot:P,hex:D,hex_dot:g,inverted_triangle:S,plus:G,square:L,square_cross:p,square_dot:x,square_pin:M,square_x:I,triangle:y,triangle_dot:X,triangle_pin:H,dash:Y,x:A,y:b}},\n", + " function _(e,s,i){Object.defineProperty(i,\"__esModule\",{value:!0});const t=e(1),n=e(93),r=e(28),a=t.__importStar(e(101)),_=t.__importStar(e(18)),h=e(9),l=e(88);class c extends n.XYGlyphView{initialize(){super.initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;null!=e&&null!=this.glglyph_cls&&(this.glglyph=new this.glglyph_cls(e.gl,this))}_render(e,s,{sx:i,sy:t,_size:n,_angle:r}){for(const a of s){if(isNaN(i[a]+t[a]+n[a]+r[a]))continue;const s=n[a]/2;e.beginPath(),e.translate(i[a],t[a]),r[a]&&e.rotate(r[a]),this._render_one(e,a,s,this.visuals.line,this.visuals.fill),r[a]&&e.rotate(-r[a]),e.translate(-i[a],-t[a])}}_mask_data(){const e=this.renderer.plot_view.frame.bbox.h_range,s=e.start-this.max_size,i=e.end+this.max_size,[t,n]=this.renderer.xscale.r_invert(s,i),r=this.renderer.plot_view.frame.bbox.v_range,a=r.start-this.max_size,_=r.end+this.max_size,[h,l]=this.renderer.yscale.r_invert(a,_);return this.index.indices({x0:t,x1:n,y0:h,y1:l})}_hit_point(e){const{sx:s,sy:i}=e,t=s-this.max_size,n=s+this.max_size,[r,a]=this.renderer.xscale.r_invert(t,n),_=i-this.max_size,h=i+this.max_size,[c,o]=this.renderer.yscale.r_invert(_,h),x=this.index.indices({x0:r,x1:a,y0:c,y1:o}),d=[];for(const e of x){const t=this._size[e]/2;Math.abs(this.sx[e]-s)<=t&&Math.abs(this.sy[e]-i)<=t&&d.push(e)}return new l.Selection({indices:d})}_hit_span(e){const{sx:s,sy:i}=e,t=this.bounds(),n=this.max_size/2;let r,a,_,h;if(\"h\"==e.direction){_=t.y0,h=t.y1;const e=s-n,i=s+n;[r,a]=this.renderer.xscale.r_invert(e,i)}else{r=t.x0,a=t.x1;const e=i-n,s=i+n;[_,h]=this.renderer.yscale.r_invert(e,s)}const c=[...this.index.indices({x0:r,x1:a,y0:_,y1:h})];return new l.Selection({indices:c})}_hit_rect(e){const{sx0:s,sx1:i,sy0:t,sy1:n}=e,[r,a]=this.renderer.xscale.r_invert(s,i),[_,h]=this.renderer.yscale.r_invert(t,n),c=[...this.index.indices({x0:r,x1:a,y0:_,y1:h})];return new l.Selection({indices:c})}_hit_poly(e){const{sx:s,sy:i}=e,t=h.range(0,this.sx.length),n=[];for(let e=0,r=t.length;enew r.Range1d,y_range:()=>new r.Range1d})}initialize(){super.initialize(),this.use_map=!0,this.api_key||n.logger.error(\"api_key is required. See https://developers.google.com/maps/documentation/javascript/get-api-key for more information on how to obtain your own.\")}}i.GMapPlot=u,u.__name__=\"GMapPlot\",u.init_GMapPlot()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1),o=i.__importStar(e(28)),n=i.__importStar(e(18)),s=e(15),a=e(9),l=e(13),_=e(8),h=e(272),c=e(169),u=e(145),d=e(294),b=e(85),g=e(90),p=e(210),m=e(312);r.PlotView=m.PlotView;class f extends h.LayoutDOM{constructor(e){super(e)}static init_Plot(){this.prototype.default_view=m.PlotView,this.mixins([[\"outline_\",o.Line],[\"background_\",o.Fill],[\"border_\",o.Fill]]),this.define({toolbar:[n.Instance,()=>new d.Toolbar],toolbar_location:[n.Location,\"right\"],toolbar_sticky:[n.Boolean,!0],plot_width:[n.Number,600],plot_height:[n.Number,600],frame_width:[n.Number,null],frame_height:[n.Number,null],title:[n.Any,()=>new c.Title({text:\"\"})],title_location:[n.Location,\"above\"],above:[n.Array,[]],below:[n.Array,[]],left:[n.Array,[]],right:[n.Array,[]],center:[n.Array,[]],renderers:[n.Array,[]],x_range:[n.Instance,()=>new p.DataRange1d],extra_x_ranges:[n.Any,{}],y_range:[n.Instance,()=>new p.DataRange1d],extra_y_ranges:[n.Any,{}],x_scale:[n.Instance,()=>new u.LinearScale],y_scale:[n.Instance,()=>new u.LinearScale],lod_factor:[n.Number,10],lod_interval:[n.Number,300],lod_threshold:[n.Number,2e3],lod_timeout:[n.Number,500],hidpi:[n.Boolean,!0],output_backend:[n.OutputBackend,\"canvas\"],min_border:[n.Number,5],min_border_top:[n.Number,null],min_border_left:[n.Number,null],min_border_bottom:[n.Number,null],min_border_right:[n.Number,null],inner_width:[n.Number],inner_height:[n.Number],outer_width:[n.Number],outer_height:[n.Number],match_aspect:[n.Boolean,!1],aspect_scale:[n.Number,1],reset_policy:[n.ResetPolicy,\"standard\"]}),this.override({outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"})}get width(){const e=this.properties.width.get_value();return null!=e?e:this.plot_width}set width(e){this.setv({width:e,plot_width:e})}get height(){const e=this.properties.height.get_value();return null!=e?e:this.plot_height}set height(e){this.setv({height:e,plot_height:e})}_doc_attached(){super._doc_attached(),this._push_changes([[this.properties.inner_height,null,this.inner_height],[this.properties.inner_width,null,this.inner_width]])}initialize(){super.initialize(),this.reset=new s.Signal0(this,\"reset\");for(const e of l.values(this.extra_x_ranges).concat(this.x_range)){let t=e.plots;_.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}for(const e of l.values(this.extra_y_ranges).concat(this.y_range)){let t=e.plots;_.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}}add_layout(e,t=\"center\"){const r=this.properties[t].get_value();this.setv({[t]:[...r,e]})}remove_layout(e){const t=t=>{a.remove_by(t,t=>t==e)};t(this.left),t(this.right),t(this.above),t(this.below),t(this.center)}add_renderers(...e){this.renderers=this.renderers.concat(e)}add_glyph(e,t=new b.ColumnDataSource,r={}){const i=Object.assign(Object.assign({},r),{data_source:t,glyph:e}),o=new g.GlyphRenderer(i);return this.add_renderers(o),o}add_tools(...e){this.toolbar.tools=this.toolbar.tools.concat(e)}get panels(){return[...this.side_panels,...this.center]}get side_panels(){const{above:e,below:t,left:r,right:i}=this;return a.concat([e,t,r,i])}}r.Plot=f,f.__name__=\"Plot\",f.init_Plot()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1).__importStar(t(18)),c=t(8),o=t(9),n=t(13),a=t(295),l=t(305),r=t=>{switch(t){case\"tap\":return\"active_tap\";case\"pan\":return\"active_drag\";case\"pinch\":case\"scroll\":return\"active_scroll\";case\"multi\":return\"active_multi\"}return null},_=t=>\"tap\"==t||\"pan\"==t;class h extends l.ToolbarBase{constructor(t){super(t)}static init_Toolbar(){this.prototype.default_view=l.ToolbarBaseView,this.define({active_drag:[s.Any,\"auto\"],active_inspect:[s.Any,\"auto\"],active_scroll:[s.Any,\"auto\"],active_tap:[s.Any,\"auto\"],active_multi:[s.Any,null]})}connect_signals(){super.connect_signals();const{tools:t,active_drag:e,active_inspect:i,active_scroll:s,active_tap:c,active_multi:o}=this.properties;this.on_change([t,e,i,s,c,o],()=>this._init_tools())}_init_tools(){if(super._init_tools(),\"auto\"==this.active_inspect);else if(this.active_inspect instanceof a.InspectTool){let t=!1;for(const e of this.inspectors)e!=this.active_inspect?e.active=!1:t=!0;t||(this.active_inspect=null)}else if(c.isArray(this.active_inspect)){const t=o.intersection(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)o.includes(this.active_inspect,t)||(t.active=!1)}else if(null==this.active_inspect)for(const t of this.inspectors)t.active=!1;const t=t=>{t.active?this._active_change(t):t.active=!0};for(const t of n.values(this.gestures)){t.tools=o.sort_by(t.tools,t=>t.default_order);for(const e of t.tools)this.connect(e.properties.active.change,()=>this._active_change(e))}for(const[e,i]of n.entries(this.gestures)){const s=r(e);if(s){const c=this[s];\"auto\"==c?0!=i.tools.length&&_(e)&&t(i.tools[0]):null!=c&&(o.includes(this.tools,c)?t(c):this[s]=null)}}}}i.Toolbar=h,h.__name__=\"Toolbar\",h.init_Toolbar()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const n=e(1),s=e(296),i=e(304),_=n.__importStar(e(18));class c extends s.ButtonToolView{}o.InspectToolView=c,c.__name__=\"InspectToolView\";class l extends s.ButtonTool{constructor(e){super(e),this.event_type=\"move\"}static init_InspectTool(){this.prototype.button_view=i.OnOffButtonView,this.define({toggleable:[_.Boolean,!0]}),this.override({active:!0})}}o.InspectTool=l,l.__name__=\"InspectTool\",l.init_InspectTool()},\n", + " function _(t,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const i=t(1),s=i.__importDefault(t(297)),n=t(78),l=t(298),r=t(72),a=i.__importStar(t(18)),u=t(29),_=t(8),h=t(9),c=t(299),m=i.__importDefault(t(300)),d=i.__importDefault(t(301)),p=i.__importDefault(t(284)),f=t(302);class g extends n.DOMView{initialize(){super.initialize();const t=this.model.menu;if(null!=t){const e=this.parent.model.toolbar_location,o=\"left\"==e||\"above\"==e,i=this.parent.model.horizontal?\"vertical\":\"horizontal\";this._menu=new f.ContextMenu(o?h.reversed(t):t,{orientation:i,prevent_hide:t=>t.target==this.el})}this._hammer=new s.default(this.el,{touchAction:\"auto\",inputClass:s.default.TouchMouseInput}),this.connect(this.model.change,()=>this.render()),this._hammer.on(\"tap\",t=>{var e;(null===(e=this._menu)||void 0===e?void 0:e.is_open)?this._menu.hide():t.target==this.el&&this._clicked()}),this._hammer.on(\"press\",()=>this._pressed())}remove(){var t;this._hammer.destroy(),null===(t=this._menu)||void 0===t||t.remove(),super.remove()}styles(){return[...super.styles(),m.default,d.default,p.default]}css_classes(){return super.css_classes().concat(c.bk_toolbar_button)}render(){r.empty(this.el);const t=this.model.computed_icon;_.isString(t)&&(u.startsWith(t,\"data:image\")?this.el.style.backgroundImage=\"url('\"+t+\"')\":this.el.classList.add(t)),this.el.title=this.model.tooltip,null!=this._menu&&this.root.el.appendChild(this._menu.el)}_pressed(){var t;const{left:e,top:o,right:i,bottom:s}=this.el.getBoundingClientRect(),n=(()=>{switch(this.parent.model.toolbar_location){case\"right\":return{right:e,top:o};case\"left\":return{left:i,top:o};case\"above\":return{left:e,top:s};case\"below\":return{left:e,bottom:o}}})();null===(t=this._menu)||void 0===t||t.toggle(n)}}o.ButtonToolButtonView=g,g.__name__=\"ButtonToolButtonView\";class v extends l.ToolView{}o.ButtonToolView=v,v.__name__=\"ButtonToolView\";class b extends l.Tool{constructor(t){super(t)}static init_ButtonTool(){this.internal({disabled:[a.Boolean,!1]})}get tooltip(){return this.tool_name}get computed_icon(){return this.icon}get menu(){return null}}o.ButtonTool=b,b.__name__=\"ButtonTool\",b.init_ButtonTool()},\n", + " function _(t,e,n){\n", + " /*! Hammer.JS - v2.0.7 - 2016-04-22\n", + " * http://hammerjs.github.io/\n", + " *\n", + " * Copyright (c) 2016 Jorik Tangelder;\n", + " * Licensed under the MIT license */\n", + " !function(t,n,i,r){\"use strict\";var s,o=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],a=n.createElement(\"div\"),h=Math.round,u=Math.abs,c=Date.now;function l(t,e,n){return setTimeout(y(t,n),e)}function p(t,e,n){return!!Array.isArray(t)&&(f(t,n[e],n),!0)}function f(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(void 0!==t.length)for(i=0;i\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",s=t.console&&(t.console.warn||t.console.log);return s&&s.call(t.console,r,i),e.apply(this,arguments)}}s=\"function\"!=typeof Object.assign?function(t){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),n=1;n-1}function S(t){return t.trim().split(/\\s+/g)}function b(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]})):i.sort()),i}function D(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=W(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,a=o?o.center:s.center,h=e.center=q(i);e.timeStamp=c(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=U(a,h),e.distance=L(a,h),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};1!==e.eventType&&4!==s.eventType||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y});e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=H(e.deltaX,e.deltaY);var l=k(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=u(l.x)>u(l.y)?l.x:l.y,e.scale=o?(p=o.pointers,f=i,L(f[0],f[1],X)/L(p[0],p[1],X)):1,e.rotation=o?function(t,e){return U(e[1],e[0],X)+U(t[1],t[0],X)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,a=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(a>25||void 0===o.velocity)){var h=e.deltaX-o.deltaX,c=e.deltaY-o.deltaY,l=k(a,h,c);i=l.x,r=l.y,n=u(l.x)>u(l.y)?l.x:l.y,s=H(h,c),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var p,f;var v=t.element;_(e.srcEvent.target,v)&&(v=e.srcEvent.target);e.target=v}(t,n),t.emit(\"hammer.input\",n),t.recognize(n),t.session.prevInput=n}function W(t){for(var e=[],n=0;n=u(e)?t<0?2:4:e<0?8:16}function L(t,e,n){n||(n=N);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function U(t,e,n){n||(n=N);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}Y.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(O(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(O(this.element),this.evWin,this.domHandler)}};var V={mousedown:1,mousemove:2,mouseup:4};function j(){this.evEl=\"mousedown\",this.evWin=\"mousemove mouseup\",this.pressed=!1,Y.apply(this,arguments)}g(j,Y,{handler:function(t){var e=V[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:\"mouse\",srcEvent:t}))}});var G={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Z={2:\"touch\",3:\"pen\",4:\"mouse\",5:\"kinect\"},B=\"pointerdown\",$=\"pointermove pointerup pointercancel\";function J(){this.evEl=B,this.evWin=$,Y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(B=\"MSPointerDown\",$=\"MSPointerMove MSPointerUp MSPointerCancel\"),g(J,Y,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace(\"ms\",\"\"),r=G[i],s=Z[t.pointerType]||t.pointerType,o=\"touch\"==s,a=b(e,t.pointerId,\"pointerId\");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var K={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function Q(){this.evTarget=\"touchstart\",this.evWin=\"touchstart touchmove touchend touchcancel\",this.started=!1,Y.apply(this,arguments)}function tt(t,e){var n=x(t.touches),i=x(t.changedTouches);return 12&e&&(n=P(n.concat(i),\"identifier\",!0)),[n,i]}g(Q,Y,{handler:function(t){var e=K[t.type];if(1===e&&(this.started=!0),this.started){var n=tt.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:\"touch\",srcEvent:t})}}});var et={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function nt(){this.evTarget=\"touchstart touchmove touchend touchcancel\",this.targetIds={},Y.apply(this,arguments)}function it(t,e){var n=x(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=x(t.changedTouches),a=[],h=this.target;if(s=n.filter((function(t){return _(t.target,h)})),1===e)for(r=0;r-1&&i.splice(t,1)}),2500)}}function at(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+ft(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+ft(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=vt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(yt,mt,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[\"none\"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?\"in\":\"out\";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(Tt,pt,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[\"auto\"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}}),g(Et,mt,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[\"none\"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(It,mt,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return gt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&u(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=vt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(At,pt,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[\"manipulation\"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance{this.model.active?this.activate():this.deactivate()})}activate(){}deactivate(){}}i.ToolView=r,r.__name__=\"ToolView\";class _ extends a.Model{constructor(t){super(t)}static init_Tool(){this.prototype._known_aliases=new Map,this.internal({active:[n.Boolean,!1]})}get synthetic_renderers(){return[]}_get_dim_tooltip(t,e){switch(e){case\"width\":return t+\" (x-axis)\";case\"height\":return t+\" (y-axis)\";case\"both\":return t}}_get_dim_limits([t,e],[i,n],o,a){const r=o.bbox.h_range;let _;\"width\"==a||\"both\"==a?(_=[s.min([t,i]),s.max([t,i])],_=[s.max([_[0],r.start]),s.min([_[1],r.end])]):_=[r.start,r.end];const l=o.bbox.v_range;let c;return\"height\"==a||\"both\"==a?(c=[s.min([e,n]),s.max([e,n])],c=[s.max([c[0],l.start]),s.min([c[1],l.end])]):c=[l.start,l.end],[_,c]}static register_alias(t,e){this.prototype._known_aliases.set(t,e)}static from_string(t){const e=this.prototype._known_aliases.get(t);if(null!=e)return e();{const e=[...this.prototype._known_aliases.keys()];throw new Error(`unexpected tool name '${t}', possible tools are ${e.join(\", \")}`)}}}i.Tool=_,_.__name__=\"Tool\",_.init_Tool()},\n", + " function _(o,b,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.bk_toolbar=\"bk-toolbar\",t.bk_toolbar_hidden=\"bk-toolbar-hidden\",t.bk_toolbar_button=\"bk-toolbar-button\",t.bk_button_bar=\"bk-button-bar\",t.bk_toolbar_button_custom_action=\"bk-toolbar-button-custom-action\"},\n", + " function _(o,b,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root .bk-toolbar-hidden {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 0.3s linear, opacity 0.3s linear;\\n}\\n.bk-root .bk-toolbar,\\n.bk-root .bk-button-bar {\\n display: flex;\\n display: -webkit-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: center;\\n -webkit-align-items: center;\\n user-select: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n.bk-root .bk-toolbar .bk-logo {\\n flex-shrink: 0;\\n -webkit-flex-shrink: 0;\\n}\\n.bk-root .bk-toolbar.bk-above,\\n.bk-root .bk-toolbar.bk-below {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n justify-content: flex-end;\\n -webkit-justify-content: flex-end;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-button-bar,\\n.bk-root .bk-toolbar.bk-below .bk-button-bar {\\n display: flex;\\n display: -webkit-flex;\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-logo,\\n.bk-root .bk-toolbar.bk-below .bk-logo {\\n order: 1;\\n -webkit-order: 1;\\n margin-left: 5px;\\n margin-right: 0px;\\n}\\n.bk-root .bk-toolbar.bk-left,\\n.bk-root .bk-toolbar.bk-right {\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n justify-content: flex-start;\\n -webkit-justify-content: flex-start;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-button-bar,\\n.bk-root .bk-toolbar.bk-right .bk-button-bar {\\n display: flex;\\n display: -webkit-flex;\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-logo,\\n.bk-root .bk-toolbar.bk-right .bk-logo {\\n order: 0;\\n -webkit-order: 0;\\n margin-bottom: 5px;\\n margin-top: 0px;\\n}\\n.bk-root .bk-toolbar-button {\\n width: 30px;\\n height: 30px;\\n cursor: pointer;\\n background-size: 60% 60%;\\n background-origin: border-box;\\n background-color: transparent;\\n background-repeat: no-repeat;\\n background-position: center center;\\n}\\n.bk-root .bk-toolbar-button:hover {\\n background-color: rgba(192, 192, 192, 0.15);\\n}\\n.bk-root .bk-toolbar-button:focus {\\n outline: none;\\n}\\n.bk-root .bk-toolbar-button::-moz-focus-inner {\\n border: 0;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-toolbar-button {\\n border-bottom: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-toolbar-button.bk-active {\\n border-bottom-color: #26aae1;\\n}\\n.bk-root .bk-toolbar.bk-below .bk-toolbar-button {\\n border-top: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-below .bk-toolbar-button.bk-active {\\n border-top-color: #26aae1;\\n}\\n.bk-root .bk-toolbar.bk-right .bk-toolbar-button {\\n border-left: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-right .bk-toolbar-button.bk-active {\\n border-left-color: #26aae1;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-toolbar-button {\\n border-right: 2px solid transparent;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-toolbar-button.bk-active {\\n border-right-color: #26aae1;\\n}\\n.bk-root .bk-button-bar + .bk-button-bar:before {\\n content: \" \";\\n display: inline-block;\\n background-color: lightgray;\\n}\\n.bk-root .bk-toolbar.bk-above .bk-button-bar + .bk-button-bar:before,\\n.bk-root .bk-toolbar.bk-below .bk-button-bar + .bk-button-bar:before {\\n height: 10px;\\n width: 1px;\\n}\\n.bk-root .bk-toolbar.bk-left .bk-button-bar + .bk-button-bar:before,\\n.bk-root .bk-toolbar.bk-right .bk-button-bar + .bk-button-bar:before {\\n height: 1px;\\n width: 10px;\\n}\\n'},\n", + " function _(A,g,C){Object.defineProperty(C,\"__esModule\",{value:!0});C.default='\\n.bk-root .bk-tool-icon-copy-to-clipboard {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUSDBoBvcHQeQAAAG9JREFUWMNjXLhsJcNAAiaGAQYwB/xHwh/Q+ITEkfHQCwEWND4jmeb8H/JpgBwfI6cNBhLSEkqaGXRpgFRAcZoZsmlg1AGjDhh1wKgDRh0w6gCaVcf/R2wIkNqw+D9s0wADvUNiyIYA47BJAwPuAAAj/Cjd0TCN6wAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-replace-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxokK3gniQAAAHpJREFUWMNjXLhsJcNAAiaGAQajDhhwB7DgEP+PxmeksvjgDwFcLmYkUh2hkBj8IcBIZXsYh1w2/I8v3sgAOM0bLYhGc8GgrwuICgldfQO88pcvXvg/aOuCUQeM5oLRuoCFCJcTbOMh5XOiW0JDNhdQS3y0IBp1ABwAAF8KGrhC1Eg6AAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-append-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkZWD04WwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAoUlEQVRYw+1WQQ6AIAwrhO8Y/bIXEz9jIMSDr8ETCUEPQzA4pMeFLKNbu4l5WR0CDOMEALBGIzMuQIBEZQjPgP9JLjwTfBjY9sO9lZsFA9IafZng3BlIyVefgd8XQFZBAWe8jfNxwsDhir6rzoCiPiy1K+J8/FRQemv2XfAdFcQ9znU4Viqg9ta1qYJ+D1BnAIBrkgGVOrXNqUA9rbyZm/AEzFh4jEeY/soAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-intersect-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkrkOpp2wAAAPhJREFUWMPtV1EKwjAMTUavI3oawR/vtn5srJdREfzwMvHHQlcT2mpdMzFfWxiP5r2+JMN+mAiCOB72CABgR1cln4oOGocJnuMTSxWk8jMm7OggYkYXA9gPE3uyd8NXHONJ+eYMdE/NqCJmEZ5ZqlJJ4sUksKN7cYSaPoCZFWR1QI+Xm1fBACU63Cw22x0AAJxudwrffVwvZ+JmQdAHZkw0d4EpAMCw8k87pMdbnwtizQumJYv3nwV6XOA1qbUT/oQLUJgFRbsiNwFVucBIlyR3p0tdMp+XmFjfLKi1LatyAXtCRjPWBdL3Ke3VuACJKFfDr/xFN2fgAR/Go0qaLlmEAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-subtract-mode {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxgsF5XNOQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABFUlEQVRYw9VWUQqDMAxNpWfxQxD1MoP97G7zQ5mH2RTZYLtM9lWoMbXtxLXNX4OG9r28l4hrd0PQoqxqAACYpxH25C/nkwCHyCBwSPoS09k1T5Fo+4EiExcC4v584xGFmyIXHBLRISAVZyZufUPVa4rcrwmPDgr93ylo+2GliLRUYHK6th/o/6r7nfLpqaCsagEA8Hh9FmcNKeRmgeYDC+SCq0B6FFi8/BcV6BdR9cL3gCv3ijPKOacsn3rBEcjmaVxpfGcg4wHxzgJJnc6241Hn23DERFRAu1bNcWa3Q0uXi62XR6sCaWoSejbtdLYmU3kTEunNgj0bUbQqYG/IcMaqwPS9jftoVCAQ0ZVDJwf0zQdH4AsyW6fpQu4YegAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-clear-selection {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUGEhcuan3d3wAAAoRJREFUWMPtlzFP3EAQhd+b3TNSzg0N5TWXLkJQUUaKhIQ4fgP/g5ArrriE/I3opEgRrZtIVJR0FJQ010SioUmEZHtnUpwN9gWHGA5BJCy58MraffvmfZ41v3z9hqe8BE98vQh4cgG+Ydzmnrng8efvQJNi/uN7dznx/B3ggtfhf4ehNdUttRzBDIm/2VTiiWCG1HK0nc+3UWtq8BQIiEEakEQOADBIA4QCQmBqoHBhFNR27ikQSmGdYCdTqCpEHMDZmEKRWUBEv1gBDg5SzRJnpopILWICgWuRYflLamuzxB2BmtYqSRIka5VWU8QduXO+1hRc5YZu5GAwmP2ZJzND0IBu5HCV2+NQcAhAVRsnC2IbPzPdSjzd6to6VtfWkXi6YLaVWr7xoAwkfpb8MnC3SH7rKSMBe4M0jA/OTicFIbtCGRIyNbURhcf3ErCd6YwA1m0HgAxhw1NGQnlXBHG4kylVlSJuH0RfIP2CkL2I/qS1gIAAQiBl1QwFggIHtyxgrxK5PgyfC0JWKoT0HLh8LwoietB4TYKaIl7yeNURxB05UtMxDOcVQlZIrlRKdK6m47gjR/fuBRQihyLArtNeJD50Izcx2Eczu7iFkIug4VM3cpOr3MKDekFED0fWUHv9Zq0kpLnridjhY3XDg7NTN0jDrhO3X7O9Wg7wwyANu4mnayNg3gmbu0tCNoUyBNGv2l4rB9EXynA7082FOxAQLhU6rQVO9T2AvWowFToNCJcPORGxIRcnpjZSKATSU9NxvOQnAPArDSaQoUKnNI4iufkGtD4P3EHIcWZhz4HLceSOyrR3Izf5memPAL2cX3yhAkonysZVaWLBkd9dw1Ivv2a/AYPkK+ty1U1DAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-box-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg0kduFrowAAAIdJREFUWMPtVtEKwCAI9KL//4e9DPZ3+wP3KgOjNZouFYI4C8q7s7DtB1lGIeMoRMRinCLXg/ML3EcFqpjjloOyZxRntxpwQ8HsgHYARKFAtSFrCg3TCdMFCE1BuuALEXJLjC4qENsFVXCESZw38/kWLOkC/K4PcOc/Hj03WkoDT3EaWW9egQul6CUbq90JTwAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-box-zoom {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg82t254aQAAAkBJREFUWMPN11+E1FEUB/DPTFn2qaeIpcSwr5NlUyJiKWVXWUqvlUh/iE3RY9mUekkPPURtLKNRrFJEeuphGfUUaVliiX1aVjGs6aG7+XX9ZnZ+d2fTl2vmnHvPPfeee/79Sk+may2/UQq/q7Qu+bAJoxjHIKqB/wlfUMcMVqI9bLZ+DGIKwzlzQ2GcxCx2xwvKOUKlaHTiX8bHNspjDONHkOmJBW5jIof/FvPh/06MZOb6cRc7cGn1AKUE5cdzlM/gAr5F/O24H3xkFRfxAbVygvK+cIsspjGWo1zgjeFpxL+BvnLw7laBA4xjIFJwrgu52DoVjKdY4HBEX8dSF3JLYe1fe6UcYCii3xWQjdfuSTnAtoheKCC7GNED5Zx4L4qt61jbTLHA94geKSC7P7ZeShQ0Inoi1IJuEOeORooFXkV0FZNdZs5qvFfKAeqYy7nZ6yg//HG0MBfffh71lFrQDCW2EvEP4mt4okZUDftz9rmGZkotmMxJRtlisy+MTniAWrty3AlXw0hFM2TD89l+oNsoOJXjbIs4EpqNtTCLXbiZ0g+M4mFObj8U3vsNjoZCVcmk60ZwthpepLZkB/AsivWfOJZxtpUQHfWib7KWDwzjeegBZJSdKFiE2qJTFFTwElsi/unQ/awXrU4WGMD7nOJxBY/1EO2iYConq93CHT1GOwucjdqnRyFz+VcHmMNefMY9nNkA3SWUOoXhQviSWQ4huLIRFlirFixnQq/XaKXUgg2xQNGv4V7x/RcW+AXPB3h7H1PaiQAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-zoom-in {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsUBmL8iQAAA2JJREFUWMO9l12IlFUYx3//MzPrLpSjkm5oN4FFIWVEl66IQlFYwtLOzozsjHdGRSCRF0sfBEXRVV0FQuQiLm5CZNBFgRRaRLVFhbJ2EdiN5gbK7toObTPn6eYdPTvNzPvOBz5Xh/ec5/n/n89zXtEHmZqeSXSuXBz/3zfdKvBWJHQrwZuRcP0El+QkbQXeBX6WZEgm6TtJk5lM5o4Lc+cV6qpf4Ga20Tm338zeATItVK9Ker6yvPzp4NDQ3+XieGsCU9MzTYumGbhz7m4ze9/MHgvBgItACrgfGAj2jgAvAYs3wlEujjc13kii8YyZrXXOfWhmo9GnFUlvOOemarVapVqtkslksmb2KjARqL62ecuWN9NxbRInzrldAXhV0uFSIfdew7G/gNLU9MwS8CwSmE3Oz88fcXG5blfpqVRq0Ix8VIAAX0XgrVL7HDCHGcCaWrV60LUBN8Dae58aQIxEqcA592I9M610JL0cpG/U9TIHJNKY3RV5z0R+7Nd4HZ0P1g/2RMBuegLAsRMnb4vT8d5vqKfMzOgtAlADrkmqGywmiMBTwfr3dC9j1Xv/r6Tvg/5/5ejxE6cO7M9faVbQZrYNOFSPmqQvVo9FKexvi5uWX58943aM7DwAfBDY+FbSCxP5sdkGx55GeguzrUEXPaSo2pFkAbiSZQCAzZJOmdkjwd6SpB/M7KykQTPbA2wDhoIzRzcNDx9MJwGNIXdJ0mEzmwbujL7dbma7gd03A7lKfnTOvf74nl0r6bonTUbujRSUCrm2d4L3/kvn3JPe+8+BDW2i9o+kT7z3kxP5sYsA6W47oE64TsR7P9tQL4vA2mh9WdIscKxUyJ0M7aR7acOGzikD65EQLEjaa2ZXzMwDFeB6qZBbbLTRE4EGeSaozNOZgYFf8qP7lmIvs354n0qlHpB0T7B9Ogl4IgJJrmjv/SiQjbrkD+BMUkfSbYATPdckrTOzkciWAXOlQu5cYgLdPEIapud9wMOR9zVJH3ViKx333mtHMJvNuoWFhZ3A+ojMcja77njXBEKwJJfTcqUyCIQ34Mf7nnh0paMnXacFuGoC1mr3AtuDfLzd8Zuyl+rfuGn4HLAD+Az4qZQf+61TAj0Noj8vX6oC35SL43u7teG6rf5+iXppwW7/JUL5D03qaFRvvUe+AAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-zoom-out {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsHgty9VwAAA0FJREFUWMO9l09oXFUUxn/fmXlpItppi22k7UJBRSlVkCytSAuKUloIdjKT0El3FXVXdVFKRVAQV7qQohsNwdA0UFvBhYtqUVyIVlRaogtFQVq7qSTVjA3z3nHzBq/jvPmTN/Ss7rv3nvN99/y794kByMzcfE/7picn/jenmwWeRUI3E7wdCRskuCSTdDfwBvCtJEdySV9KOhpF0e0/LF5SqKtBgbv7ZjObcvfXgShD9Zqk5+orKx8Oj4z8NT05kU1gZm6+bdK0Azezu9z9hLs/HoIBvwAF4H5gKFh7B3gBWFY3460kWve4+3oze9fdx9OpVUmvmNlMHMf1RqNBFEUldz8OHAxUX9q6bduryut+Sfvc/Wz62ZD0fK1afjND9y3gGSRwv1GMojstTxUUCoVhdyopEYDzKXjWwZ4FFnEHWBc3Goet00m7lZlZYQixKw0FZnakGZksHUnHgvCN5/KARBH37enpOVg58H13HV0Kxg/kIuD/ngSA2ZMLt3bTSZJkUzNk7k4+D0AM/CGpaXCyBw/sC8Y/qZd2GpZiuL9YLN4Sx/HpoP5/c/exQ1OVq+1yyt13SLoArEsJnMjlgfOffvK3u58Kprab2QezJxfG2iTzUzI70wRPG9jbmpmb95SNB9mpzp7/j2yVdNbdx4K565K+cvfPJQ27+x5gBzAS7Hlvy+jo4WIvoC3kWpcvS3rR3eeAO9K529x9N7C7zX6AC2b28hN7Hl1Vt44niVq13LUjmtlYkiQfA5s6eO+GpDNJkhw9NFX5ueNt2ARodyF1IHIN2JiOl4H16fiKpK+B2Vq1vBAqFAf4IJkGNiIhWJK0192vunsC1IE/a9XycquNXARa5OnApeeioaHvKuP7r3dTGsiLqFAo7JR0T7B8rhfwXARa2us4UEqr5Ffgs151i/08oTNKdIO770ptObBYq5Yv5ibQq/sl3Qc8lJ4+lnSqH1vFfp9koZRKJVtaWnqkWXqSVkqlDe+vmUDWpZMlK/X6MBDegKf3P/nYaj8ErN9fqZBYEsf3Ag8G8Xit33BaniTcvGX0IvAw8BHwTa1y4Md+CeRqRL9fudwAvpienNi7Vhu21uwflOT+L+i1X2TJP57iUvUFtHWsAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-help {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABltpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMzIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDNDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMTIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDMjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNjoxMToyOCAxMToxMTo4MjwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cphjt2AAAAT7SURBVFgJxRdbaFxFdGb2bhui227BWrsVKYgf2kJUbP9EUPuzEB803WTXJjH61Q/7Ya1+CMYKEVTsh4J/EpvY7BoabUiNiA8s1p+4KIhpoUUEselHqyS76TbZ3HuP58ydc3d2u4+IkQxczpz3mZkzZ86VYpXjvenpjZsLhUcliE4AuUuASAgptmt1EFdwPiclzIIUUwubNn17OJlcXo1p2UpodHRiux9xB1Eug1+slbzhFxGOKc851tu7/0oznYYBDA8Pt0U2tL8KQryIq2tvZqQhD0QJHRz3yqWhgYGBpXpydQMwqz6NCnurleCSADkJEfgKfOePqL80R/wV1ZaQyr1LenKfkPCkEPKeaj0xg7vxVL3duCmA0Vyuw/fl52hgBxsBED+h4Cv9z3R/zbRm8MTJTx7HQN7GQB6w5C4L4SX7M5lfLBpurjXMyvNIShiyi0l1pL8n9b7EDGPR8fHxzSsQ6XDB3618/xqo6Pk25V5MpVJllgHM1BO58RdQ612kOYZ+GXdij70TYQB05mpj+1kU5G2fB+l3PZtOf8NGx6ambnMXb3yAxg8wjSEG6OKKR9oicBQD+ZvpH2Wzj0lQpxCPG9qMv1x6hHNCsSAlHM7ZOa682vlI9tRDbvHGbD3nZAPpDoD/3JIrLpAs26UFkC3EMUA99hpfGtEBfJjNJnS2Gwnadnvl+Xw+iuc3DAJuNyIaSCHpilVldyDjjUxj3WDZIAhxhHHyRcdNuA7AAfUaXzVKODpzFiZ4/uLvh5G+m2no+C/pyIf7MqlEJB7bpqR6nXkEUfbeawuLaZsW2ISfNQ2vtaktQlGFQyIVGT0o2+2EC4iQNGwjBIN9qdQ5Qg4mk4X4rW3vCClLtowE2FOFUxKDfNmiZci3ovKKRFPh4FK9q4Zbdr+lKKJiA13TcHR2dmLBgdmQ0GAS2MZaEowY+XbAk09IvgtYZGp16SyvFhaHcIUh645t8T9DBCcnz5zZ4hZLu3DzK2QlL1QQa0Y+pHiJKPSuOGj3PmZTheM5w2TwqBxnvBZOTk7G5gvXJ5Aelms8wnJURL+olSWcfEhf6gDoUXPMq6ZlqbzWU2pE+3hi4s6F68tfIj9cBMlikr7Z0/P0b/X0yIcUXsDCF1WhtL4OROHaXk+xlkbV0Cu732Nmhc4peaWSg73pA8dq5RkvO37ldUTfXCKZv2q45MkhvG87WQEzpCCUSvV1d9GONBy3lMvgKSwrZig8gjAietWY0QriylO2jIo4yVbOSb7KB/qmI9BPKjHpSSXYauRyn92Nq9/Kcrj13x3s3v8D481glQ/0raiNYgX9njPSBOImbrHZePl+tfFmc9sH+Xaoh8NjOKSVdDMhjjYzQLy+dFceH5+IJQf9VYXX4tROg4ZFU8m31M3mfPEqUoJqCGJfvWpo2xnNfdrhC28n06SCeSzNZxlvBINGRXCtKS7EY1uV6V7HWAm38y1cXaXsMcOCvr9ySPj+af7A1U2HJXHzVNvUXVLIGyPf+jV0pf8GHoN+TLAyPkidTCi2RpPApmnR0Bd1zGRaB/B8Oj2HSw7LLbVR1MmskW8RdEWVXSJf3JbpAMgRtc4IZoxTh9qotQjCasm46M0YX9pV1VmbpvRH5OwwgdRtSg2vKaAz/1dNKVtb17Y8DCL4HVufHxMOYl1/zTgIgiYvBnFKfaNp3YjTdPz3n9Na8//X7/k/O1tdwopcZlcAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-hover {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4oVHp0SwAAAQJJREFUWMPtlsENgzAMRb8RQ5VJItFDOgaZAMaAA0iZpN3KPZSoEEHSQBCViI/G8pfNt/KAFFcPshPdoAGgZkYVVYjQAFCyFLN8tlAbXRwAxp61nc9XCkGERpZCxRDvBl0zoxp7K98GAACxxH29srNNmPsK2l7zHoHHXZDr+/9vwDfB3kgeSB5IHkgeOH0DmesJjSXi6pUvkYt5u9teVy6aWREDM0D0BRvmGRV5N6DsQkMzI64FidtI5t3AOKWaFhuioY8dlYf9TO1PREUh/9HVeAqzIThHgWZ6MuNmC1jiL1mK4pAzlKUojEmNsxcmL0J60tazWjLZFpClPbd9BMJfL95145YajN5RHQAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-crosshair {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEUlEQVRYR81XXVIaQRCeHqug8CXmBNETaE4gniDwIgpVspxAbxC9ATkBkCpQ8gKeQDiB5AQxNyAvUlrldr7eHxyGXZi1rMJ5opbp7m++7un+htSGF204vsoMoNXrlzSpfWa1oxQfhAegCZGaEtPorHo8znIoJwCt6+td8uk7ApUQCIHTF4BNAWzImq8ap6cP68CsBdDp9i9ZqXM7ML79g/EnCWD+jgMKENKqWT+tXK0CkQqgNRjs0OxpQIqKhoMxaG6/6JeRnK7T6yO2UvVqhYSlLX+ryORfgKn9ORDFIy7ky41yGcwsr0QAQfDH5zucOswx819fs4egI9OFCcD8DjBF7VNbEX0JzdWEt3NHSSASAcCxBDqMgt/623kvyTgNgNjJIfTjk4D4FqaJR1715MjmYAmA5Bx3AwUXQL+t105KaTlcBSC26XRvhjEIoLiq1yqXpr8FAGG16/ug4IT27fxBWu7EiQuAiImJpEMKE6nYM30uAIDDttSUOPfJP7JzbjPhAiBIh9QE67vIvoOi9WJfCwDavf40ulpjbCqmUf+W753ezURuh7Dg1SqflwAEHU6pgfyBq9Y4qx0LG++2fnZ/eUzcstmdM2AWH+jfc+liWdBJfSENf8Lifi3GVwC9mybOfi5dzatWVrbbLIHNva8p5h/16gkaFiLGGxbufkoE6XguwePiXLF3XmMfCUCUAqtKXU7sumd1CowOuJEi3Pg1FBpjitIGhyvVSfvmjci6ZR+rFQfDiPVE2jFYeICQ+PoewwjC5h7CZld6DBdyu6nDSKgzOyIMhmhK5TTqXYbRorZYM46TmpKAAOrGWwSJJekSB1yqJNOzp1Gs7YJ0EDeySDIMtJbQHh6Kf/uFfNFZkolJICRmz0P8DKWZuIG2g1hpok+Mk0Qphs0h9lzMtWRoNvYLuVImUWrmPJDlBKeRBDfATGOpHkhw670QSHWGLLckmF1PTsMlYqMJpyUbiO0weiMMceqLVTcotnMCYAYJJbcuQrVgZFP0NOOJYpr62pf3AmrHfWUG4O7abefGAfwH7EXSMJafOlYAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-lasso-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgwlGP1qdAAABMBJREFUWMO9V1uIVVUY/r61z57ZMx4DnbzgkbQXL5iCJphlWdpIGY4jpFBkEiU9ZNaDRRcITcIwMwgxoQtU2IMXdAZfMjFvpERXYiSbysyBEXFmyuHMnLP32uvrwT2xnY5nxvHQ93Jg7fWv71/r//7L4a59TRgqJk+Z6v3a+sv0OI5nk5wu6VaSVZImAThHsgjgrKTvM5nMUWvtmf5n8HodCIKgOgzDhc65pSTrJQWDsSNpJX1ljHnDOfdT37oZLLHv+8OMMasKhcIJ59xHAJYMlhwAJGUAzJfUTHLFuFzOG5QDU6dNMyQfs9Yedc5tBpAD4IYYNQGoBrDtQnt7/b0LFrJsCHzfn2itfQfAnZLiazytA3AaQAuAiwDaEgeNpGkkswAWSBqRONB38b88z5uTKePt6iiKXkk8jq+iJC5LOmiMaTLGHLPWhmWeHr7vV0dRtATAapAzIVmSo51zyzIlbm2stesFPA6pKk0r6Ryg93y/ek8YFvPOOTg3cDSiKCoC2OP7/rEoirYm4rUkF12lAWNM1lr7lqQn0+QA8gI2jBg5cj6Aj8OwmB+KAKIoukhyp6SRJAUgl0ndPLDWPi9pJQCbuviXvu+/GIZhW1dnJ24UJFuTjCCA2ADA8sYGWmsXS3qmL94kDYAtkh4Nw7ANlQJ5U6INT1KrAYC9zQdykl7nFSj5fXp5Y8NWVBhy7mUAjqShMYdMXV2dJ2klyRwAJ8lIeuGWCRMP7N7frEqSG2OmAFhKshNAp5wrmO7u7jEAngPQm1S2z2pqapr+OPt7XEly0oxwzq2RdFmSD2AMgKKJouhhAL4kA+Cs53l7e3t7uytJHgRBreTWkXwkKVJnJD0B4GAGwIJE9R6AFufc6UqSZ7PZbD6ff5dkA4CQZEHSqwAOISmXtwGIE+F1SeqqIP8d+Xz+C0mLJYWSAODteXffczjdDQNJ0BWMCoLg5gqIbRTJNwHsljQhUb0luWPM2LE7Thw/9m/5NCT/TByxAOYWi8X6/gdWV1dnfN8fNRBxJpMZTXKdc+6IpFVJWAEgkvSJpA0X2tvtVTaSjgOYBCAEEADYSHK87/sfhmEYA9gShuEDkgzJHyWtB/B1irQ2juP7ADxkrX0wOUOpzmdpzEY590HJ7Ni1r2kSyZOSiv2+hSRjSTXp/QAukzySNJOJkmalyNIl10hqMcasdc61XDNcQRD8BnITgNp+36r6kfcNFMMlLQGwTNLMEuQGQBfJl2bdPru+HDkAZAqFQux53jZHEsC6aw0eg2gylNRBcqcx5v04ji999+03AwsWAOI4Lsy9a94WkisAnE5a5WCJYwCfA1g7LJudI2lTHMeXBm1faiQzxkyRtF3S5CTupeAB+KG2tnZFT0/P30NO2VKLzrmfAbwGMipjG5Oc0dPTc0Md05SZ5U4Q2FxChErtEYD7jTGNQ3UgM8Asv90Yc9I5LSKRlXSI5CxJa0jWSALJjKRnAewfkniT+vwf7N7fXHK9rq7O7+jo+BTA/NRrdBpjnnLOnUrvXd7YMPQXSBunneno6IhIHgYwW1JtkgmBpBkATlVMAwOk3nFJ+VSoqgCMr6gIy2FcLtdKspAedyQN/98caDt/3kpyabUmf8WvG/8A1vODTBVE/0MAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-pan {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4lKssI9gAAAOtJREFUWMPVll0KwyAMgNPgoc0JzDX2Mtgp3csKErSamGabIEUo/T6bHz0ezxdsjPJ5kvUDaROem7VJAp3gufkbtwtI+JYEOsHNEugIN0mgM1wtsVoF1MnyKtZHZBW4DVxoMh6jaAW0MTfnBAbALyUwCD6UwEB4VyJN4FXx4aqUAACgFLjzrsRP9AECAP4Cm88QtJeJrGivdeNdPpko+j1H7XzUB+6WYHmo4eDk4wj41XFMEfBZGXpK0F/eB+QhVcXslVo7i6eANjF5NYSojCN7wi05MJNgbfKiMaPZA75TBVKCrWWbnGrb3DPePZ9Bcbe/QecAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-xpan {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4X4hxZdgAAAMpJREFUWMPtlsEKwjAMhr/pwOOedINJe/PobWXCfAIvgo/nA4heOiilZQqN2yE5lpD/I38SWt3uD9aMHSuHAiiAAmwaYCqoM/0KMABtQYDW11wEaHyiEei28bWb8LGOkk5C4iEEgE11YBQWDyHGuAMD0CeS30IQPfACbC3o+Vd2bOIOWMCtoO1mC+ap3CfmoCokFs/SZd6E0ILjnzrhvFbyEJ2FIZzXyB6iZ3AkjITn8WOdSbbAoaD4NSW+tIZdQYBOPyQKoAAKkIsPv0se4A/1UC0AAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-ypan {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4anK0lywAAAMVJREFUWMPtlzEKwzAMRX/S7rlpIMXeOnaLaME36FLo8XqCdNFghGljyc4kgQi2Q/SUj0F/eL7eMMTKz6j9wNlYPGRrFcSoLH4XxQPvdQeYuPOlcLbw2dRTgqvoXEaolWM0aP4LYm0NkHYWzyFSSwlmzjw2sR6OvAXNwgEcwAEcwAEcwAEcoGYk20SiMCHlmVoCzACoojEqjHBmCeJOCOo1lgPA7Q8E8TvdjMmHuzsV3NFD4w+1t+Ai/gTx3qHuOFqdMQB8ASMwJX0IEHOeAAAAAElFTkSuQmCC\");\\n}\\n.bk-root .bk-tool-icon-range {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTgtMDQtMjhUMTQ6MDQ6NDk8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy43PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrsrWBhAAAD60lEQVRYCcVWv2scRxSemZ097SHbSeWkcYwwclDhzr1Q5T6QE1LghP6BGNIYJGRWNlaZItiFK1mr+JAu4HQu0kjpU8sgF3ITAsaFg0hOvt2Zyfvmdsa7a610Unx44Zgf773vvfneezPHNzrbhn3CT3xC3wPXYOC8LDzqdi8YY/gwh4BeknS/2th6dr2kf94AOp3OFyWgMyziOPbMDxV9FTtJnl1ut795Xd0/YQ0/vtYQwMT1KXWCfr2IjOWwtNehwN4xL9ykTrm6Pzl58yLn3J+mKh9mXbT3uRjGEDph+O8/TjfP5dBp7Ha7AX7O3o5nZeD/0E/OGyXntDgzA0X6qmCnrVutVlrUWV9f/3xo+pwhGDhvEPHOjoxnZjJggXmMHzBQ7NGNp9vxk61fr0HR7e/u7pZzCGHlc7qwBYYTT7tJYSx1AQzppyFPft5apta9w7SKcn0b7P7+/jCsDQ5mbc0dCmIJGDN0ehdcjsmkm6A6KUeKFOTE11PLxrC7Ukqh3ylL2fT0NAP9q6ur6rRCJJYsbKB0JsbCKMuy+xREePDyxQPCz+Crlw062QcA5wBOOt1l6vIl2WiI9F1fN6Q+BBqit6hEC4Hk08GQJMn4myjSP7RavVxgdaVUh/3U6HCMsPr9pYnJKRziHtWQ+un58+hGs6nsjQSjpuTyKGN3CX+FBwHXSiEVgjP+O8X6N12kIePES+GzTKAkGbNp8yJsGUMVzz8jPKReiyAQRimy5/cjye5RpF8utFp/+nwmT7d/NMzcFkS7yjJNGDaPURQxIQThEQy0SyF4l5WJYYhBa816vZ6dU7A6CAhbZVow/pDe0O9hVOoCi13r4BgBAvJHqMSQL2vE/iH6IAXEwgrRVUmBoRRwnwJQT98xEeVeSUyB4dJ5nwJBKdCFFGRmUCcu7rwIYypCTblaChuNBhWODrman5ub+4v0rMNBt8z6Ezh7GksJQpCbm79cMQE7QBFm/X6f0rjWnv8WRYg/QdbUpwDAEBy8vPyA8rNGzg3a8MiElwiM7dAtRqNoNptjGPM1laVxP9umWEMGLOKhKUOJDtBwDmzsw9fC/CzHr9SGuCTi2LbbKvVtmqXpCjMihBFa79Wrt5fGx9PDzc3fmu32Lf8qFliwU9emKhBSp+kRKn/hu9k1COEDbFdt/BoKWOAkuEbdVYyoIXv8+I/QK9dMHEb1Knb7MHOv8LFFOsjzCVHWOD7Ltn+MXCRF4729vWMDK+p8rLkvwjLg4N4v741m5YuwCI9CvHp1Ha8gFdBoPnQAkGsYYGxxcfEI7QQlFCTGUXwjAz4tWF+EpymOWu7fglE7qsOvrYE6g4+9/x/vhRbMdLOCFgAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-polygon-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjc1OfiVKAAAAe1JREFUWMPt1r9rU1EUB/DPK0XbqphFHETo4OCiFhwF0V1KHbRSROLqon+AUMVRRFBwEbRFMBiV+mMW/wIxi5OD1kERRVKRJHUwLvfBTZrU5OWBGXLgQu7Jfe98z/ec7z0vKa88b2q1BDtRHdAPBaylm1NzsxsOjPnPNt6WSWprbft+/c3I3zOAjhT1Y4+fvcjEQJIXnVECSa+AhqIHqlHH5lWCZoe+Gk4GRgDG86j9SAUdlDBSQaZhlOkuHyoVdJmsw98D1S5fM4NYM1LCpqM+Lwa240oLgmZzpVZvzKT75VLZcqksSZKWlQeAy/iORVwIvh31xvotvK7VG3Px4aWHj3Jl4C2uYSvq+Bn8v6LLbaVWb9zsBiKLCvbiNG7gLm7jAYqbPHMJMziZ9lsKoh8GtqCEVVzHftwJn+TFHp4/hg8BSCYVfMOZoPEv2NZGdy9WCGUr9toDR3E2/H4V6nwRe/BmgN65H1ZhvMuB3XiKIyFoGefwO6ysVkUlrNUNsyAK/jli533Q+Y8cJFvAeXyMS1CI/jiMr/gUtD2LQwMGr4R3p7bY3oQHQ5b38CT4D2AXXg6YcQXHpyYnlqKsi5iOAVSwL9zd7zJ09r+Cpwq72omFMazjT9Dnibym0dTkRDUKrrgwH7MwXVyYB38BstaGDfLUTsgAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-redo {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4itK+dVQAAAaFJREFUWMPt1L1rFFEUBfDfJDaBBSslIFjbaSFp1FJQFMVCHkzhKIqdUYOCoBgErVz8rCwiTDMwBCIKipDWyip/gxAIWAmBgBC0eYFh2Gx2l9lFcA5M8e59782Zc84dWrT435Hs1siLchqn43MS0zgW22vYxjesYjVLw3YjBPKinMUTBOwf8J5fKLGYpWFjJAJ5Uc7gIW6jM6Kim3iNZ1katgYmEL/6I+YasvY7Lg6iRpIX5VF8wuEe/XV8wGf8jN6LWTiAc7iEQ7ucPZ+lYW0vAtfwvlbfwCKW9gpXDOv1mJvZHiSO91MiyYsyiQSuxtpXXM7SsDmM5nlRdrCMMz3sOJWl4Xevc/vwBzdwAl+yNNwZxfRI+GxelK9ikHcwh8d4NNR/YFRES1ZwoTYdR7I0rNf3TzVNIGbmSvR/Bx08mIgCFSVu4l2ltIWD9WxNGR+W8KOynqnZ0rwCeVG+wa0hjrxtWoF5dAfc28V8Mib/n+Nev5dnabg/zgw87aNEN/bHOwVRiRe4Wym9zNKwMKkpgIWKEt24njxiJlq0aPFv4i9ZWXMSPPhE/QAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-reset {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4gWqH8eQAABLdJREFUWMPtlktsVGUUx3/nfvfOlLQaY2IiRRMQIRpI0PjamJhoVASDvNpCpYw1vJQYSVwZwIVQF6wwRHmkAUof9ElrI6VqDAXcID4TF0IiYQMkSlTokNCZ+b7jove2t+NMH7rQBWd3v+989/zP+Z8X3Jb/WGQySvUNTQBJESkNguAVYIWqzhaRhwBU9WcR+QXoymazn6jqzUQiMQSQzWZRVdal1vwzAI2tHQBPOuc2AbWTdOyQ53n7nHNfRwee51GzqoIQMCLDpr3x/tLQ0oZzrk5Vj0/BOEBt+KYuOlBVGlrahr0Wob27t3gEjnZ2AyQzmUwHsDgP6J/AYRE553neDwDOuUdU9QngNeCumK4TkRMhZUORcYC1qysLA6iuSQHIwkWLD6lqapQsuSmwTVV3h99I7EcAR462A2xR2Ilq6ehTaejvO1774kuLNALR33eclsaGsQDe3fYegHl43vyNwEeqGl1963mm2jl7YZRTQ82qlWP4HM6ZToC5ztkW4LHQoALru7s6Di5dvlIj/e6ujrEAWoZDn8hmMjXATMACGaAVuBjXTVVXFc/AxhaA+4zvn1DV+eHxVWPMAmvtb5GeMWZyZVhI2rt7qVy2pOh9U1snwIPW2vMi4oWJuBPYHkVAVScPoKmtkzVVK6cEMsyJraHhiCqJqJUwj/JRz7TW1iSSyR2rVyylqa0Ta+24Ic8vXaAEmDFc/l5Z2A/80OibuVyuz/f9ElUdHCmvw82t5HK5h6y1PYhsz2YyGw43t2KtBZHIGwB6+j4rCkBVUdV7gXrggnPuu8h4eP+xMeZS2D0rJYZ6AdAMzAt1b4nI26p6IFZOY8pugijcKSIHVLUK0LyST4vnrVfnWr3mjmP4QTATaERkXkypRFX3isjmuHdRJEK6Ckqquopp06bdKCkp2Sgi7XnGLcg7gzeutwNIiPYc8HixqIrIOlU9ONVIhHPEd851icgSVXUiskVV94gIqoonIt0i8gfQCfwae38e6BWRXuBZz5jZ8VbaOE4EIqlZVUEQBLlkMplS1QER2RwkEnsSyaREDUzyeNsvIhvCMqkH1kdIJ2o+k8iJB1LVVRfjZ6nqqlEAIbdVQGto8Lrv+/dbawcjAL7vc+6bs+zetetfLSHxniIFGofGGsU2oC7eOCbDfZ7nQawBOSAX74SF9oEPImOq+r7nmVmxb5raukZa8UReGmNmhbMkAwwBH467EYVZe49z7kdgenj8k7V2oTHm8kgdWcvrNdVFjR8cHkYzjDH9wLjDaEwEzpwa4MypgWvAjtjxfGNMj4jMiT+M+kFsZI/Q6Pv+HGNMT8w4wI7TAyevxXVPD5z8+zD64tRXAMHVK1eaVLUyVvuDqroV2BOnJF4ZIedviUidqt4Re9s+vbx8zZXLl7PR2+nl5Tz/zNOFp2FzxzGAklw22wUsLLaSKXwf8vhosZUM6PeDYEUum70VHfpBwKsVyyfeikOP6oBNwN1TrLbfgX3A1kKLzKeff8nLLzw38T5wZDgxn1LnNk5lLRfP26/OnR2hwfNYW2Atn9RCsrf+EECyrKysDFimqhXhyjY3VLkAXBKRDqA7nU6nS0tLhyIj6XSaN9bVclv+l/IXAmkwvZc+jNUAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-save {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4UexUIzAAAAIRJREFUWMNjXLhs5X+GAQRMDAMMWJDYjGhyf7CoIQf8x2H+f0KGM9M7BBio5FNcITo408CoA0YdQM1cwEhtB/ylgqMkCJmFLwrOQguj/xTg50hmkeyARAYGhlNUCIXjDAwM0eREwTUGBgbz0Ww46oBRB4w6YNQBow4YdcCIahP+H5EhAAAH2R8hH3Rg0QAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-tap-select {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOTJBQzE0RDQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOTJBQzE0QzQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eYZ88AAADLklEQVR42rSXf2TUYRzHv7tuGcfE6Vwb5zLSSjEj7Y9KWqfEmFZJP+yPMdKKmUrrn0iUfjhWlLFi6YfNrF+StBoTo39iYkTGco4xxxG59P7k/T2PT8/37nu3bx9ezvPj+zyf5/PreS78bGLS8SmrwE6yje3NHJsDBTALpknBz6JhH3NiYAB0gHqPOVv52wJ6QQ48BzdAttTioRJjdeA8mAHHS2xuk3p+M8M16ipVQE49Ds6CiFO9RLjGONf05QLx6wPQaBlbBlPgJVgkP0ETiIJ2sB/E1XfimjfgBOOlKDUqCGOcqBcQnw6BYW5YTo4wbvQhMmCfGRemC2rBiGXzWUb+kM/NRZ6CHWBM9ce5R61NgX6ayhSJ5EPlItlDRNkz4JbFHf06BkSzHjXxM+gDv1S/mPUo2AXWgt9UUHL/IVhS8yUV1/EbV3o4N+NaoE9Fu/i827K5pNYHnqAVJECShWmAaddpscYFFXwR7vnXBRGlnUN/L6kqKJlxnRUuDbaDBiL+vst5d4gpcpBrqk/2jIgCKVUolhntplzivHmwh4stGOPfwBWwl/2dpp8p7xjQZqFLiQJtauKkivYm+kzccpK57yXfOUe+P23JqAnVbhMFmlXntCWnxbT31am9ZJ4BJifsUmNTqt0cYhA5ypympPg7VkEKunPbVb8cIG+0kyHLJZNR7fUMooUKFHAPkfQo58VLK+RzwRDd4FdWG9mjpaAXzqkJa1R7kQttqEABWXMjOOxxVRfnhRm5URX1prk/0pQHwNcKlchZ+jdpC+hFdVqO0my9Hj5dkYgCn1Rfh/KdlNDHrJhPqlDih+IfBd6qwpOgEqYMsorJ2HtWxtagLJDn/W3KRfPOZhoeBJfZPgVeGKeKrkQBh5dLXl25Ny3pc4/1fkTdbvFqFQgbxWeYD0hXulhQ0pYiM1jG547fcbMQpVnHTZEn9W3ljsCzwHxCdVteNHIZvQa7/7cC7nV6zHIfyFP9EXjFa7YxKAVqPP4bxhhoLWW+z9JyCb6M/MREg59/RlmmXbmneIybB+YC/ay+yrffqEddDzwGvKxxDmzhc0tc80XVgblqFfgjwAAPubcGjAOl1wAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-undo {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4em8Dh0gAAAatJREFUWMPt1rFrFFEQBvDfGhACASshkL/ALpWVrSAKEQV5sIULWlgZNSgIFkGIVQ412gkBt1lYLERREFJqJRaW1oHAoZUQsDqwecWy7N3tbe6C4H2wxc682Zn3zTfvLXPM8b8j6RqYF+UCzsfnHBawGt3fMcAX7GEvS8NgKgXkRbmMxwg41TLsN0psZmnodyogL8pFPMIdLHUk7hA7eJKl4U/rAuKu3+HslFr/FZezNPSTFslX8QErDe4DvMVH/Iq9F7VwGpdwZUjsPtaSFjv/1vCBPjaxO0xcNbHejLpZrrlvJCMCT+JzA+2fcC1Lw+GE4l3CG1yIptfjCtiKoqtiJ0vD3aM0Py/K57iIMxgkQxat4EdN7e9xdRzlk+LEEPvDWvIDXJ928sYxjL36icWK+VaWhlezOIqbGFirJd/H7szugrwoX+D2BDEvszSsT5OBdfRaru/F9dPXQF6U27g/KnmWhgctxqyzBrZGMNGL/rHI0nDkKXiKexXTsywNGx0OnFbFNk3BRoWJXnw//j+ivCi32/S8CxPVNiWOAdUiJtXITIqYY45/Cn8B2D97FYW2H+IAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-wheel-pan {\\n background-image: url(\"data:image/png;base64,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\");\\n}\\n.bk-root .bk-tool-icon-wheel-zoom {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgskILvMJQAABTtJREFUWMPdl1+MXVUVxn/fPvf2zrSFmUKnoBCUdjRoVaIxEpO2JhilMYBCtBQS2hejpg1Uo2NUrIFAoyGmtiE+GHwQGtvQJhqDmKYRBv+URFsFDNCSptH60DJTO3dKnX/33rM/H7rvsDu9M20fDMaVnGTvtb69z7fWXmvtc/TEzqd4OyXwNsv/FwFJQVI/sA14SZKRLOlPkr5TrVYXHz70quYkEEK4TtI2YAgYkrQthHDdhV5uuw+43/ZrwCbgRttgY/tjtrc0m83X3/f+D6ydnJhYcB4BSZcBA7aP2d4ELAGW2N5k+xgwkDB0IH19CGGH7R8B1aQeAf4KvAw0ku4K2zu7uru3ApdPEyiKohd4TNKjtjt5h6RHgccSNrddbvuHtm9Jqoak7xVF8WFgdavV+pSk5cCObNmXgK++85prCj3z28HKqZMnH7D9YAY4BvwujT8BvCuL1INX9vVt+dfwcCvNb7f9q2RuSfrGvWu/sL2Nf3LX7pzvj4ENSGBPVarVd4fRkZFltjdmoMGiKO4IIWwIIWwoiuIOYDDzeOPoyMiyFLkum7WJCMDztrcrTTrIRuAQZ6NcK1utL4dWq/VZoC8BhqvV6l1lWb4YYxyLMY6VZflitVq9CxhOmL60hhCKeYiV7WMKIXw9jT1HpXw3c+bOAKzOjJubzebJrKQCQLPZPClpc7bP6rMYKtjXth2OMf7tIkr11Wz8oQDc1Fb09vY+kQw1YAuwJY2nbUluAnCWpKkaFl6IQIzxivaR2SYA89sJVK/Xp2x32R6w/a30DNjuqtfrU0ArYecDCEqgLqm94T0dEm9mBG7PxkdDlkBnkhebgIezNQ8nHcCZPL9ijE1Jf/bZZoPtzbavmqNZLbf9tSxq+yoduuJ+SZ+zXSZyBXCqU+d8fvC5yRUrV+0G2j3g2hDCLyXd/+Su3QdnvP/zCuH72LWsgf2k0oHlH2c2odlkxcpVEdgr6aDtjyb8x20/J+mA7T9I6rL9SWA5dne2/GdXLl58qNJh398An85yTMA+4DOz8Dgu6Zu2dwJXJ91ltm8Gbp7Fgb+EEB4aHhpq5CEtACqVyr3AC0AlPS8k3TSmQ2YPhhBuS/1/LpmS9JTtNTHGfwBU2uUALARotVqniqJYH2Pck85pfavVaufAwnQvnHc0McaDKVptebN94QAnJB0EdtjekydyZXqjs/0ZgLIs/w6sy8bnYGYJ63pgERKC05JutT1kOwITwL9tvzlzUQUYB+Zjs2DBgu6xsbGJZHstByZbezregcBXeCsEz1bnzXt5anLyzLq71zDLxTRdVgemdx0fv2e2w5thO5DbiqL4oKT3ZKpnpyYnz+SY2ZpTAPZmJfdIrVZbNBNUq9UW2X4kU+2dcf53Aj1pj2PA7y/6m1DS00A9za9uNBq7iqJYBuoGdRdFsazRaOzKSqye1rTbaa/tlbYrqXQP2X4FIA9/J1l39xrC0v7+w5IeB8XkwS1lWe6TGJAYKMty31tfO4qSHl/a3384I3CDpI+kzC4lnRfrue6GytEjR8oQwlY73gC0L4qlth/q0M1/LYWtR48cKQF6enrC6dOnVwGLEpnxnp7en4+O1i/tszzGOCTpPmB7ahb57QUwBWyXdF+McWg6MScmuoA8OX8xOlpvXGz422XYTsB/SnpA0h7bX5R0WzI9HUL4qe2XbI+dk3xl+V7gxoztD5jRI+YK/zkEEokx2/uB/RdzIfUtueqVN04cXwF8G3iHY3z9Urw/j8ClyhsnjrcS2Vv/J/8NLxT+/zqBTkcxU/cfEkyEAu3kmjAAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-box-edit {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4QfHjM1QAAAGRJREFUWMNjXLhsJcNAAiaGAQYsDAwM/+lsJ+OgCwGsLqMB+D8o08CoA0YdMOqAUQewDFQdMBoFIyoN/B/U7YFRB7DQIc7xyo9GwbBMA4xDqhxgISH1klXbDYk0QOseEeOgDgEAIS0JQleje6IAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-freehand-draw {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADTElEQVRYCeWWTWwMYRjH/88721X1lZJIGxJxcEE4OOiBgzjXWh8TJKR76kWacOBGxdEJIdk4VChZI/phidRBHMRRIr7DSUiaSCRFRM3u88gz+o7Z6bBTdjmYZPf9eJ55fv/5zzvvDPC/H9QsA66Olo9Ga+/MdR+Ljm2/KQIULsz9FqItGdOfJKLhApLgVkiSCGODjWit7QpKWy+TNrFeXvzKVUT8NiTVaIgDcbiCFJ7GiT8WkARXAdYBK0Lbhi/CenArRNskuM7/tgNp4ArQ42dwjf3WY5gWTqC7O/NbNn2Xkfw/YwdSw/We14HP2IEZwX+y9cZ9SH0LmgFP7UCz4KkENBNeV0Cz4b8U8DfgKiDxMWwUXETqLvJpCQpXZfawbzS7t9v5pL19cHBwfja7YA0y/lyCM0+E5hv5+piZXwKYcF23as+37bTXsQVqgkL0p/34fHR7DcBtbetFsBmGDwMOJCggYG55yw7dMlk6DuC1Bdu2RsCU9TYWQq2IoGbsreZ5NzvEqfSBsIsIy8OTbcdgiRHeh4o8AFAEwDakbY2AaCCpH7V9aGhoUUUy3UyVbkPYFuYLDlUZH8XBpwxkK0Dbgxg5HcVi0ent7a0RULMIozaHBSMfF9b2SzdutFcFB2FkwMIJOG6qfteXOa1nHZ48tyefuwyfT9s6wtzZ3t7eZse2DR2I228TtHXzuWCx9g8MtK5cuHCZTH4tiHEOa4xFngvTyS8f35d6enomiCi4/foEXBkZaQuukChL4FYA2Whd7YcC4gEdW3CpdL3LtGAVCVYJywEyTpAuJKeMOKXZs/Bw947C50KhUFOG4cwz35cjWNBlHGeD53n3xsfHP/T19U1qciggar8Fa4I3PHobIotBWBtc2hSiChyZxVzM53Pv7FVH6Tp3uVy+g0r1ImD2GjIrQGYIxjnfuXTZGICS5k/bBwJoubwEFX4TLah9EXomJGMA3za+f9913Yl4TnzsDQ+vE6YTZOjHh4ngibstt1pzQwd04F0bPStEBpXqRoBeQ/AKghfBnOEKgS+Q7z91Xfdz/HGKg8Ox7z8iYD9z6wqTkZFgnvhMGP9VZ2or1XVkPM9z0mytSfVsHa1RLBZbLoyNzUnK+ydz3wC6I9x+lwbngwAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-poly-draw {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjglo9eZgwAAAc5JREFUWMPt1zFrU1EUB/DfS4OmVTGDIChCP4BgnQXRxVHqIJUupp9AB8VBQcRBQUXIB9DWQoMRiXZzcnQSA34A7aAuHSJKkgo2LvfBrU3aJnlYkBy4vHcP557zP/9z3r33JdXa647N0kHSZd5Nn0rSxc8G3cXp85sMcnZZ8vge3osZ+l3vB8CWFA0iL14t79h210swAjACMAIwAjACkB90D/8/GchI9ve4nPwTBh5E9ws7OepzGWb9EddSn51Op9ZstadSg4VK1UKlKkmSDSMLALewiuNh/hVJq71Wxttmqz0dG88vPc+MgWP4grvYG3SLOBrZFFFrttqPe4HIDxh4GSei+98iSlusuYopXEAjBtEPA3tQwUpwluAbDm4TPJUz+BTW9l2Ce6G7L0X/Bw8D3T/7SKKIDzHg7QCcxjvcQAEtXAnrrg/RP0/DKPbqgcN4iVOR7gcO4dcQgRuoh7HSqwlP4n20m63jJu5n8MkWMYfP3UowhzdR8FU8w9iQwevBdyq3/27CMRzAE5yLuvsRLg+ZcR1nJ8YL81HWJUzGAPaFZwe/Q5MdyYDyNHgjzO90YyGHtVDncuiJchaHw8R4oREFV5qdiVmYLM3OgD9k5209/atmIAAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-point-draw {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEiERGWPELgAAA4RJREFUWMO1lr1uG1cQhb9ztdRSP7AF1QxgwKlcuZSqRC9gWUUUINWqTh5AnaFOnVPEteQmRuhCURqWsSqqc9IolREXdEvQBElxtdw7KURSFEVKu4w8wAKLxdw9Z+bMnRmZGXfZ29//II8th4WwGVNyIoQLYB5vxA9Caq04iUd9A+7ZlsNC2I7TdSd2hZXMJKlnTqp9jtl/GBaqoyQ0noFKpUIzBicYYc+DEFpxkglc4oVJa5gvDn8v1xV2irG3FM4NSVwjUKlUaMcpJhCGmSEJQ6QGD8M5WnHCd8+f3QCXpPLx8WNwv0j6Bm9FMK7FJ3WBE+R/2t7c/GBmFvSBrzRTCsyTDjXrxUgEMtpxynJYmJoBJ4VAybwVARgvL7Oik0okCodnKpVKX7P0leiVMb0VvbJT+upznK4vh0GIeQwwQStJkHQD3MwsCALTJRG7Qrdrj5m/djgYaIa0hlkRdJk26XEgC9txurccBtVW3IudBImmZuACUP+ZlIDBt9FKcubYNTcAH/X0RYM1E7utJPlqe+uZzPxUcEkiSS4sTT95n15Mud0xWC0o2PAWOCdK3KYZlFxfM+tHOcnMzNr1es18ug+cgsVjP4yBU/Ppfrter1m/+l0+zYygML1xRVHU7TSb1cSzBzoBzszsH+AMdJJ49jrNZjWKou6wBnwOzcyndBpNbuueURR1Dw8Pq35p9cc5p/Dy9Dypt7jXrtdGwQECS9NPhr6Gq6txUzNigE6zydLK6lTw12/KT4FGFEUfJX2YJNONq5tVs4ODA7sD/DnwJ/BoADZuE3tHFs12dna6d4C/BI6AlbyzI8ii2TTw12/KK33gb2cdXsNZoAntbZC2SeO4c9592k/5eNQbiwvFd1kJuFGwLJr1wSPg/SwpvyFBHufOeXcFeAlE97U/uCxOY+P3b+Bn4B3Q+L8EdJfD4a+/AbC4UBzPxiPg3wlHZquB28Cn2IuR9x3gr3uV4DbwfvSDOvi4uFA8BDZmIRHkjHpS9Ht9iRqd8+5G3g05mAGcQbsdiX5QJ428G7Kygo8XYdb1/K4NWVmjzkNge2sz84bs+ELmpDDLtqWsNZBXgvmw8CTtpWVMT7x5YWBjLARnwZfKQNYN2U2LPvrh+5nBt7c2M2/It9bArCTKR8eZN+SJ13AScPnoODeRdqNenH+wul5w2gUr2WUjMFAt8bZ/0axX/wNnv4H8vTFb1QAAAABJRU5ErkJggg==\");\\n}\\n.bk-root .bk-tool-icon-poly-edit {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gELFi46qJmxxAAABV9JREFUWMOdl19vFFUYxn9n9u9sCyylUIzWUoMQBAWCMdEEIt6xIRQSLIEKtvHe6AcA4yeQb7CAUNJy0daLeomJN8SEULAC2kBBapBKoLvbmdl/c14vdmY7u91tF95kknPOnHmf95znPc97Ro2OTeBbdjFDT3c32ZxVHUOE9kSMB0/m6ExuoJn1H+ur6Y+OTfD50SMN5168OgrAlyf7CfuD+z7+iDs3p8hkLUQ0iFQ/yFl5Nm/qonfHVva+s32Zw9GxCYILsZ08tpNfBhbs+1YN4OH9+7huGdECSBVfqUosbsllfmauBqiR+cCNwOr7AEo8pPHJnymXykhg5fUWjoQpl0vVvhZhbSzGoUOHqgBlt6B6uruj2Zy1E9jo0fhfeyL2x4Mnc8VErK0KUEOB64JSyptfG4RSytsJjUJVxw2lsFy3urL9nx1Qd25ObctkrVMi+jQivd7U2ZyV/3Hzpq7h3h1b/7p9Y0o8v8rwAbTWrGpSocN/FGDlbAI0Rl23PCBan0Ok158H9Ipwzi25A/Mzc9Gl/BYx/E4kYqC1NKRARNAaDCNUM27Z+Zr+ouXs0q4+LSLBHPYCFkTkC6uU39kwCdsS7WRKmaYUiAhdnZ3MPX2K4+QjQI+C94A93rMzm8ltMwyDeDzWjMZeEb2pYQDdW3vITU2jtUZ5QThOPgm8C7wP7J15OPsBsB3oWpGnVWisCeDS1VHj4vBI92+/3tgB7Ab2AruAXiDBK5oIOkhtkEYRNRuJhObrd8Dl9ewf4D5wG7hVLpen29vb5wzD+BrkbBMaL3d1dk5nsrnlFDTTFWAWmAZueWD3gCemGde2k2fw1Al1YXhEvjozoO49eczdqekrWmsc2zlrmvEKOGoW1GUjFLqSk2KpJrCLwyMCPAP+BO54QL8DM6YZX/ClsP9YnwKkXnIBP4jdIpJRpdJTCYdMwwi98KU0Hjc/dDILNyUcwTCWdOSMJ0TRmBktGRhLugu0xyLk7CIqVNm+0bGJptl1YXikD0grpY4Rjc4a8Fbgdab/6OGbAJeCUuyJnnHmZH9pbSyGuBXV8NUwlUpR1EWyixmSyTWEwqGlJ2Swbo2JXbAAfgDGgGQA9I1A9t1tlq0AxrXxn0ilUpw4fhQqYkH/sT41OTnJJwf2s6FjI5mshdYa7bqVR2uezr9MJmJt14FvGrh/O9D+e6UkM/xyCuCqEKCYnJyUTKFQrZDHjxzGshwWLQcRsOz8Hi85P23id0ug/XilAMLBmm4tPGdoaKjSH5+oAGrhwvBI9SjZTn4QSK9yenoD7dlrExPoJlXW8G8ytpNHxRKk02lGxsdRKFwXLNvx5yY94HQLGhGk4LFCYQSqaE0AwWM1eOoEbR0dKBSW7bC4mKuffxs4D/wCLKwQQPAUzIkslfp6cVomROWSolh0GjldAM4nzDi2k9/i5UAzC9aKfwNJ3zgJg9YEvN6+C7SHgKm69+sD7RfNnKTTaZRPQfAut4oFV//IS7gkcB34VlVo8kGzphlfB+DU+TfNGBpZtRastvrvARJmfMF28ge9sc2B9/PNnCilMIDwK6y8/ow/Ai4kvILTljAXvDvEvrqKSUs60KolzPjBxspavQD2tKqCAGF/Ba+xE/Wbilu54wZV8NEKF5fXzQHl/bh4hUsE0WAXSlDMYcQSrQXgCmsTseXHsJkNnjqBFGwKJaHsKlxtUHYVhbLCzr1kaOA4bcn1y1Swmb+iLpJKpVrfgdpfsiVVCYcgluwgnU7jEgJ4s5UkLFtWYyHyEg0/N1q1tmQH+YXnAMFr97Nmv3p+0QsHQRsF8qpBOE5+rb9Nkaj50tVQKjqh4OU3GNL/1/So3vuUgbAAAAAASUVORK5CYII=\");\\n}\\n.bk-root .bk-tool-icon-line-edit {\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAG/3pUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjarVdpknSpDfzPKXwEJBDLccQW4Rv4+E4BtXR198znCdeLLijgQUoppWg3//Pv5f6FDwefXJRcUk3J4xNrrKzoFH8+pyUf9/f+8J3C7y/j7jnBGApow/mZ5l2vGJfXCzne8fZ13OV+9yl3ozvx2DDYyXbauCDvRoHPON3frl5Imt7MuX8hH0seiz9/xwxnDMFgYMczUPD7m89J4fwp/iK+OVRbiMf6gm8K4bv/3NN1Pzjw2fvwn+93PLzccTZ6mJU+/HTHSX723/bSOyLi58n8jmiqz/798+a/tUZZax7rNCKOakzXqIcpu4eFDe483kh4Mv4E/byfiqd49R2OHzC1Od/woxLD44siDVJaNHfbqQNi5MkZLXPnsMdKyFy5gwwCHXhocXahhhEK+OhgLmCYn1hon1vtPBxWcPIgrGTCZrR5fHvc58A/fb5stJaFOZEvT18BF1t8AYYxZ99YBUJoXZ/K9i+50/jPjxEbwKBsNxcYqL6dLZrQK7bC5jl4cVga/Ql5yuNuABfhbAEYCmDAJwpCiXxmzkTwYwE/CuQcIjcwQOKEB1ByDCGBnMJ2Nt7JtNey8BmGvIAICSlkUFODgqwYJSbkW0EIqZMgUUSSZClSRVNIMUlKKSfTKc0hxyw55ZxLrllLKLFISSWXUmrRyjVAxsTVVHMttVZVHKpRsZdivWKgcQstNmmp5VZabdoRPj126annXnrtOniEAQlwI408yqhDJ02E0oxTZpp5llmnLsTaCisuWWnlVVZd+mTtsvqVtU/m/po1uqzxJsrW5RdrGM75sQWZnIhxBsY4EhjPxgACmo0zXyhGNuaMM185uBCEgVKMnEHGGBiMk1gWPbl7Mfcrbw7e/V9545+Yc0bd/4M5Z9S9Mfedtx9YG7rlNmyCLAvhUyhkQPrNhvO5AJFnrZIR0plaLL5liQYdDi5TubaIokFDkmoFEB8CzxZVxemssDqthPhUblPgW1iQU5g6XwNwyVI7bUFRm035iNziMkgWvEso2SXnsJfveR0Y4SlVF8YWC1pVQhJiQa8JwDvlMNIxAfq3F7GDObHU1LlhzlZaWwNp6BvACxAgInGXlllMGZCpEnZHrGA6GM2718xuFcz7YdUQxzEEfjdWz4GlkcwaonT0pgA6mB25grPILtnSMhuCpsGhmMU6uJbixJs4lbKHqh+wos1jW2rchyGRCIvN9MXu+KAmMSfAlIKVvi/tybhCPJZCu2Ow9pLdyo427+X2ovMBmKNu8PA0zgl3fS0PB1DWWkVYB47bkyiJHhkFPzTzCjzn4Dq1mqoIWzCmcDGsHQmQAQdEHsixK1IXESd5rLU7THVJNV8obHS8sZeN0G5Jdt5pQTVKCCbgK1hItTS8o92iEZpuWJ/oC2r/0+zTmhvFXoaMVKRe27altDtid6OvG1hENVwBnC61KKugNoemOiPCCNb3GoHAZOFuDxxPsD+07nbSPcr/o1Zmc4jARhotrA5F5ZcjP9rPk90vR8A+k028A+8+5wKlHVID542sMzMCuXktkRzUCpE+xCBZywjNcJITx0II9x5948CekBl4XaC5OCX2nCyObdwN3HwQh5DWL/BBEkhDYHn/vpXNgZkVTZs8rj+HO8JFC6qvDVhgAEQSYCDyC86rMhG1WPzAVB9ZldDWG6EzDcFiqJBDvFS8mXDv3SK2LPoguVB2kwUx7UL5KqZWiEzocsbvSjNnaYDNtcYJuA5cDcsrvHd6yCxGjqvl9+wh3Qh8Kc9py8sNW8ncU8qwxdPj1qIGfrPqlXeoS4/JLa/LwRLTCtxuSoZUT+2Su6kXW3QNacYQbId6NUKVbROpviybFSPQQL9lhB2MamEnFyB9Y+hrG1+xBg+L0QG2TZdTdlcsBdq9oHdt9Bu5/IM9+Nfh1AwrSqlboTA6Bgq568A7UfbaMrZjoQZhQphofvNw93+bN+5X7FYKBgLmRid+tSdV6c02A4R0cHwKobmoMt5+6WI9XNISFIywpf6RMd5/a91vE78FzVHIFmxud4woyJx76OMTCa4yhgN3iJO2VfRPFMv9sYTxFzU+1eWeYS52pwOoSJldZY6koib4P1O427rbeUrNZfu44hWjz5ZSuu/vKPpimoXbLkfxWSPetvxDWG5jQSaZCxA3ad+p6rlttDhK+YwwK1LHVe0drDtorc5vnQ1247g58vewDtU7L3DRwrG4dhCUDRKKOtYr2dXHtpt+33d1WZmfkAHdl7Q8ENF+CNgB+nOw29n5F7SeNo/ckbu4laLTCdqJLHjmhJbKzmrCEX7zULrhefuHmu0V/1nbP1pnb6FaT7sOxn4pvWkfrYhYtCeJ4Xv+kOXrroIs1eHWXN1/AfzaY94ms5vaAAABg2lDQ1BJQ0MgcHJvZmlsZQAAeJx9kT1Iw0AcxV/TSkUqDnYQUchQnSyIijhqFYpQIdQKrTqYXPoFTRqSFBdHwbXg4Mdi1cHFWVcHV0EQ/ABxcnRSdJES/5cUWsR4cNyPd/ced+8AoVFhmhUaBzTdNtPJhJjNrYrhV4QwjAgGIMrMMuYkKQXf8XWPAF/v4jzL/9yfo1fNWwwIiMSzzDBt4g3i6U3b4LxPHGUlWSU+Jx4z6YLEj1xXPH7jXHRZ4JlRM5OeJ44Si8UOVjqYlUyNeIo4pmo65QtZj1XOW5y1So217slfGMnrK8tcpzmEJBaxBAkiFNRQRgU24rTqpFhI037Cxz/o+iVyKeQqg5FjAVVokF0/+B/87tYqTE54SZEE0PXiOB8jQHgXaNYd5/vYcZonQPAZuNLb/moDmPkkvd7WYkdA3zZwcd3WlD3gcgcYeDJkU3alIE2hUADez+ibckD/LdCz5vXW2sfpA5ChrlI3wMEhMFqk7HWfd3d39vbvmVZ/P2aecqIM1FFZAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AQdDBkQmV+argAABM5JREFUWMOtl9trHFUcxz9n9jYzm7Tb9JIWGtqUllLwVgRBQWl90S6lTaGmF6E2/4H+A4r+A0offdlWodL4kEZw9bG+iC9iKqLF0os0EBq02dtcdmdnfj7szGZ2M5vulv5g4JwzZ873+7ufUfMLi0RSa1TZNzVFrW511xBhzMxx79EyOwrbGSSzZ073zOcXFnlv5lTi3mvfzAPwwYVZ0tHiq6+/xu+/LlGtWYgEINL9oG657N41yfSRgxw9cHjDgfMLi8QVsR0X23E3gMXnkXQJ3L9zB99vI4EA0sVXqsPF93xW7y73ACVJBJwE1j8HUBIi3Sz/QNtrIzHN+yWdSdNue915IMKWXI4TJ050Adp+U+2bmkrV6tZeYAXwEJExMyf3Hi0rM5fvAvS4wPdBKRW6vZeEUiq0RIBCddddpymu0+rRbPvEzkPVmmWLBA1EdGAbYNctt7V712QwfeSgd/uXJQnPVVoEEAQBTxXpuEMELNtNNFW1WrsrQdBCRImQEeE/wBUh53v+7tW7y5n1+BZRIoJSioXvy3itdgclURSZTBrP87AdV57G1TT0d4GPgC+Bw8Ca7bifATsTgzBvjlH1qgNdICJM7tjB8soKw4jtuD+Gw3c229e1wF+P/uHPpT86rhBBRHActwAcAl4EjgIvAYcFJnlOoq5dv6EBU8AR4OUQ6AVgGjATwuC5YUdZ4A+z+1mBTUM/AKwqpZSIpPfu2VP7+/6DYEMMPE9N83lzq23ZWwxDd4GaQnmgUloqperSCpKC8HGCXz8G7NANU8CWUKPzsUDbyLPVyjYC39e0VMZx3Ccoha4b4lQqbUlnsBqNWCXpEMgKfA38DNSBcdPQr4zlMtTtFiqlulmQmJv9ks2idUZGZMjZmZMAfBUvxWHR0y5dmPV2FcbPG9ncFdPQS3nTuAJQLBZpBS1qjSqFwjipdGr9SWlsHTewm9ZmnngMKAaV9nBd+/bmdxSLRc6dnemm3+yZ06pcLvPGW2+yfWIn1ZpFEAQEvt95goCV1TXMXH4zAt4woaRF7RTAVylAUS6Xpdpsdjvk2VMnsSyHhuVEZTh+xgywBhwLfZIdKRfj7dWqPGFubq7T428ukslkaHttLNsZ9P3nwIfh+DhwS4EO9DA0zByBCE2n1fPxpQuznSCaX1js9nFp2pjbtqGhobQ0jUY9CbgALERah3IM+El1rNqTaqaph5W1uYGAFrfA5YvnyE9MoFBYtjMI/BXgQR/4pqVDZL3V9/cYrX+x7SnsXh/H5TLwW2iBQbVLNgn65CDsrSPOIJOXwmdQ4fRHrZilUqmXwNXrNzbbfxv4ArgFVBLeJ95oDEMHwHHcvvUcRqEwuBf0SSUEB9gfxsAgAkO1kcj/WvwKPaR8EhvPAUvRtdIMtR1FtBH37w8DEeChaehXw/xfAnzHcVOjEkhHrIe0Qlz7T8PuWLEd9+2w9KphgUUgQJ7JAgAPDT13NTrJyOYqIilrlEwQv/NPMTSByxfPIU37eCqtq2zWmPYDjbavaLYVdn2NuffPjqRJK2hRLBaHzoK+X7L1QE+nIFeYoFQqkTVMaTn2UOe1LWtwEJqGzqgRnS9M4Fb+3XBJGfSrFzW9dBw0icioJBzHzUXdMJM18APwWo6Kmy1O6X+V8UHDotBqogAAAABJRU5ErkJggg==\");\\n}\\n'},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),s=t(72),o=t(303),l=n.__importStar(t(282));class h{constructor(t,e={}){this.items=t,this.options=e,this.el=s.div(),this._open=!1,this._item_click=t=>{var e;null===(e=this.items[t])||void 0===e||e.handler(),this.hide()},this._on_mousedown=t=>{var e,i;const{target:n}=t;n instanceof Node&&this.el.contains(n)||(null===(i=(e=this.options).prevent_hide)||void 0===i?void 0:i.call(e,t))||this.hide()},this._on_keydown=t=>{t.keyCode==s.Keys.Esc&&this.hide()},this._on_blur=()=>{this.hide()},s.undisplay(this.el)}get is_open(){return this._open}get can_open(){return 0!=this.items.length}remove(){s.remove(this.el),this._unlisten()}_listen(){document.addEventListener(\"mousedown\",this._on_mousedown),document.addEventListener(\"keydown\",this._on_keydown),window.addEventListener(\"blur\",this._on_blur)}_unlisten(){document.removeEventListener(\"mousedown\",this._on_mousedown),document.removeEventListener(\"keydown\",this._on_keydown),window.removeEventListener(\"blur\",this._on_blur)}_position(t){const e=this.el.parentElement;if(null!=e){const i=e.getBoundingClientRect();this.el.style.left=null!=t.left?t.left-i.left+\"px\":\"\",this.el.style.top=null!=t.top?t.top-i.top+\"px\":\"\",this.el.style.right=null!=t.right?i.right-t.right+\"px\":\"\",this.el.style.bottom=null!=t.bottom?i.bottom-t.bottom+\"px\":\"\"}}render(){var t,e;s.empty(this.el,!0);const i=null!==(t=this.options.orientation)&&void 0!==t?t:\"vertical\";s.classes(this.el).add(\"bk-context-menu\",\"bk-\"+i);for(const[t,i]of o.enumerate(this.items)){let n;if(null==t)n=s.div({class:l.bk_divider});else{if(null!=t.if&&!t.if())continue;{const i=null!=t.icon?s.div({class:[\"bk-menu-icon\",t.icon]}):null;n=s.div({class:(null===(e=t.active)||void 0===e?void 0:e.call(t))?\"bk-active\":null,title:t.tooltip},i,t.label)}}n.addEventListener(\"click\",()=>this._item_click(i)),this.el.appendChild(n)}}show(t){if(0!=this.items.length&&!this._open){if(this.render(),0==this.el.children.length)return;this._position(null!=t?t:{left:0,top:0}),s.display(this.el),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),s.undisplay(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=h,h.__name__=\"ContextMenu\"},\n", + " function _(e,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});const t=e(9);function*r(e,n){const o=e.length;if(n>o)return;const r=t.range(n);for(yield r.map(n=>e[n]);;){let f;for(const e of t.reversed(t.range(n)))if(r[e]!=e+o-n){f=e;break}if(null==f)return;r[f]+=1;for(const e of t.range(f+1,n))r[e]=r[e-1]+1;yield r.map(n=>e[n])}}o.enumerate=function*(e){let n=0;for(const o of e)yield[o,n++]},o.combinations=r,o.subsets=function*(e){for(const n of t.range(e.length+1))yield*r(e,n)}},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(296),i=e(173),s=e(72);class c extends o.ButtonToolButtonView{render(){super.render(),s.classes(this.el).toggle(i.bk_active,this.model.active)}_clicked(){const{active:e}=this.model;this.model.active=!e}}n.OnOffButtonView=c,c.__name__=\"OnOffButtonView\"},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(1),s=t(19),l=t(72),n=t(115),a=i.__importStar(t(18)),r=t(78),_=t(9),c=t(13),h=t(8),u=t(81),v=t(306),d=t(307),b=t(308),p=t(295),g=t(299),f=t(310),m=t(173),w=i.__importDefault(t(300)),y=i.__importDefault(t(311));class T extends u.Model{constructor(t){super(t)}static init_ToolbarViewModel(){this.define({_visible:[a.Any,null],autohide:[a.Boolean,!1]})}get visible(){return!this.autohide||null!=this._visible&&this._visible}}e.ToolbarViewModel=T,T.__name__=\"ToolbarViewModel\",T.init_ToolbarViewModel();class k extends r.DOMView{initialize(){super.initialize(),this._tool_button_views=new Map,this._toolbar_view_model=new T({autohide:this.model.autohide})}async lazy_initialize(){await this._build_tool_button_views()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.tools.change,async()=>{await this._build_tool_button_views(),this.render()}),this.connect(this.model.properties.autohide.change,()=>{this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change()}),this.connect(this._toolbar_view_model.properties._visible.change,()=>this._on_visible_change())}styles(){return[...super.styles(),w.default,y.default]}remove(){n.remove_views(this._tool_button_views),super.remove()}async _build_tool_button_views(){const t=null!=this.model._proxied_tools?this.model._proxied_tools:this.model.tools;await n.build_views(this._tool_button_views,t,{parent:this},t=>t.button_view)}set_visibility(t){t!=this._toolbar_view_model._visible&&(this._toolbar_view_model._visible=t)}_on_visible_change(){const t=this._toolbar_view_model.visible,o=g.bk_toolbar_hidden;this.el.classList.contains(o)&&t?this.el.classList.remove(o):t||this.el.classList.add(o)}render(){if(l.empty(this.el),this.el.classList.add(g.bk_toolbar),this.el.classList.add(m.bk_side(this.model.toolbar_location)),this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change(),null!=this.model.logo){const t=\"grey\"===this.model.logo?f.bk_grey:null,o=l.a({href:\"https://bokeh.org/\",target:\"_blank\",class:[f.bk_logo,f.bk_logo_small,t]});this.el.appendChild(o)}for(const[,t]of this._tool_button_views)t.render();const t=[],o=t=>this._tool_button_views.get(t).el,{gestures:e}=this.model;for(const i of c.values(e))t.push(i.tools.map(o));t.push(this.model.actions.map(o)),t.push(this.model.inspectors.filter(t=>t.toggleable).map(o));for(const o of t)if(0!==o.length){const t=l.div({class:g.bk_button_bar},o);this.el.appendChild(t)}}update_layout(){}update_position(){}after_layout(){this._has_finished=!0}}function M(){return{pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}}}e.ToolbarBaseView=k,k.__name__=\"ToolbarBaseView\";class B extends u.Model{constructor(t){super(t)}static init_ToolbarBase(){this.prototype.default_view=k,this.define({tools:[a.Array,[]],logo:[a.Logo,\"normal\"],autohide:[a.Boolean,!1]}),this.internal({gestures:[a.Any,M],actions:[a.Array,[]],inspectors:[a.Array,[]],help:[a.Array,[]],toolbar_location:[a.Location,\"right\"]})}initialize(){super.initialize(),this._init_tools()}_init_tools(){const t=function(t,o){if(t.length!=o.length)return!0;const e=new Set(o.map(t=>t.id));return _.some(t,t=>!e.has(t.id))},o=this.tools.filter(t=>t instanceof p.InspectTool);t(this.inspectors,o)&&(this.inspectors=o);const e=this.tools.filter(t=>t instanceof b.HelpTool);t(this.help,e)&&(this.help=e);const i=this.tools.filter(t=>t instanceof d.ActionTool);t(this.actions,i)&&(this.actions=i);const l=(t,o)=>{t in this.gestures||s.logger.warn(`Toolbar: unknown event type '${t}' for tool: ${o}`)},n={pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}};for(const t of this.tools)if(t instanceof v.GestureTool&&t.event_type)if(h.isString(t.event_type))n[t.event_type].tools.push(t),l(t.event_type,t);else{n.multi.tools.push(t);for(const o of t.event_type)l(o,t)}for(const o of Object.keys(n)){const e=this.gestures[o];t(e.tools,n[o].tools)&&(e.tools=n[o].tools),e.active&&_.every(e.tools,t=>t.id!=e.active.id)&&(e.active=null)}}get horizontal(){return\"above\"===this.toolbar_location||\"below\"===this.toolbar_location}get vertical(){return\"left\"===this.toolbar_location||\"right\"===this.toolbar_location}_active_change(t){const{event_type:o}=t;if(null==o)return;const e=h.isString(o)?[o]:o;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(s.logger.debug(`Toolbar: deactivating tool: ${e} for event type '${o}'`),e.active=!1),this.gestures[o].active=t,s.logger.debug(`Toolbar: activating tool: ${t} for event type '${o}'`)}else this.gestures[o].active=null}}e.ToolbarBase=B,B.__name__=\"ToolbarBase\",B.init_ToolbarBase()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(296),n=e(304);class u extends s.ButtonToolView{}t.GestureToolView=u,u.__name__=\"GestureToolView\";class _ extends s.ButtonTool{constructor(e){super(e),this.button_view=n.OnOffButtonView}}t.GestureTool=_,_.__name__=\"GestureTool\"},\n", + " function _(o,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const e=o(296),i=o(15);class s extends e.ButtonToolButtonView{_clicked(){this.model.do.emit(void 0)}}n.ActionToolButtonView=s,s.__name__=\"ActionToolButtonView\";class c extends e.ButtonToolView{connect_signals(){super.connect_signals(),this.connect(this.model.do,o=>this.doit(o))}}n.ActionToolView=c,c.__name__=\"ActionToolView\";class l extends e.ButtonTool{constructor(o){super(o),this.button_view=s,this.do=new i.Signal(this,\"do\")}}n.ActionTool=l,l.__name__=\"ActionTool\"},\n", + " function _(o,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=o(1),l=o(307),s=i.__importStar(o(18)),n=o(309);class _ extends l.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=_,_.__name__=\"HelpToolView\";class r extends l.ActionTool{constructor(o){super(o),this.tool_name=\"Help\",this.icon=n.bk_tool_icon_help}static init_HelpTool(){this.prototype.default_view=_,this.define({help_tooltip:[s.String,\"Click the question mark to learn more about Bokeh plot tools.\"],redirect:[s.String,\"https://docs.bokeh.org/en/latest/docs/user_guide/tools.html\"]}),this.register_alias(\"help\",()=>new r)}get tooltip(){return this.help_tooltip}}t.HelpTool=r,r.__name__=\"HelpTool\",r.init_HelpTool()},\n", + " function _(o,_,l){Object.defineProperty(l,\"__esModule\",{value:!0}),l.bk_tool_icon_box_select=\"bk-tool-icon-box-select\",l.bk_tool_icon_box_zoom=\"bk-tool-icon-box-zoom\",l.bk_tool_icon_zoom_in=\"bk-tool-icon-zoom-in\",l.bk_tool_icon_zoom_out=\"bk-tool-icon-zoom-out\",l.bk_tool_icon_help=\"bk-tool-icon-help\",l.bk_tool_icon_hover=\"bk-tool-icon-hover\",l.bk_tool_icon_crosshair=\"bk-tool-icon-crosshair\",l.bk_tool_icon_lasso_select=\"bk-tool-icon-lasso-select\",l.bk_tool_icon_pan=\"bk-tool-icon-pan\",l.bk_tool_icon_xpan=\"bk-tool-icon-xpan\",l.bk_tool_icon_ypan=\"bk-tool-icon-ypan\",l.bk_tool_icon_range=\"bk-tool-icon-range\",l.bk_tool_icon_polygon_select=\"bk-tool-icon-polygon-select\",l.bk_tool_icon_redo=\"bk-tool-icon-redo\",l.bk_tool_icon_reset=\"bk-tool-icon-reset\",l.bk_tool_icon_save=\"bk-tool-icon-save\",l.bk_tool_icon_tap_select=\"bk-tool-icon-tap-select\",l.bk_tool_icon_undo=\"bk-tool-icon-undo\",l.bk_tool_icon_wheel_pan=\"bk-tool-icon-wheel-pan\",l.bk_tool_icon_wheel_zoom=\"bk-tool-icon-wheel-zoom\",l.bk_tool_icon_box_edit=\"bk-tool-icon-box-edit\",l.bk_tool_icon_freehand_draw=\"bk-tool-icon-freehand-draw\",l.bk_tool_icon_poly_draw=\"bk-tool-icon-poly-draw\",l.bk_tool_icon_point_draw=\"bk-tool-icon-point-draw\",l.bk_tool_icon_poly_edit=\"bk-tool-icon-poly-edit\",l.bk_tool_icon_line_edit=\"bk-tool-icon-line-edit\"},\n", + " function _(o,l,b){Object.defineProperty(b,\"__esModule\",{value:!0}),b.bk_logo=\"bk-logo\",b.bk_logo_notebook=\"bk-logo-notebook\",b.bk_logo_small=\"bk-logo-small\",b.bk_grey=\"bk-grey\"},\n", + " function _(l,n,o){Object.defineProperty(o,\"__esModule\",{value:!0});o.default=\"\\n.bk-root .bk-logo {\\n margin: 5px;\\n position: relative;\\n display: block;\\n background-repeat: no-repeat;\\n}\\n.bk-root .bk-logo.bk-grey {\\n filter: url(\\\"data:image/svg+xml;utf8,#grayscale\\\");\\n /* Firefox 10+, Firefox on Android */\\n filter: gray;\\n /* IE6-9 */\\n -webkit-filter: grayscale(100%);\\n /* Chrome 19+, Safari 6+, Safari 6+ iOS */\\n}\\n.bk-root .bk-logo-small {\\n width: 20px;\\n height: 20px;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==);\\n}\\n.bk-root .bk-logo-notebook {\\n display: inline-block;\\n vertical-align: middle;\\n margin-right: 5px;\\n}\\n\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});var s=this&&this.__rest||function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(t);nt)}}request_layout(){this._needs_layout=!0,this.request_paint()}reset(){\"standard\"==this.model.reset_policy&&(this.clear_state(),this.reset_range(),this.reset_selection()),this.model.trigger_event(new c.Reset)}remove(){this.ui_event_bus.destroy(),p.remove_views(this.renderer_views),p.remove_views(this.tool_views),this.canvas_view.remove(),super.remove()}render(){super.render(),this.el.appendChild(this.canvas_view.el),this.canvas_view.render()}initialize(){this.pause(),super.initialize(),this.state_changed=new u.Signal0(this,\"state_changed\"),this.lod_started=!1,this.visuals=new b.Visuals(this.model),this._initial_state_info={selection:new Map,dimensions:{width:0,height:0}},this.visibility_callbacks=[],this.state={history:[],index:-1};const{hidpi:t,output_backend:e}=this.model;this.canvas=new a.Canvas({hidpi:t,output_backend:e}),this.frame=new n.CartesianFrame(this.model.x_scale,this.model.y_scale,this.model.x_range,this.model.y_range,this.model.extra_x_ranges,this.model.extra_y_ranges),this.throttled_paint=m.throttle(()=>this.repaint(),1e3/60);const{title_location:i,title:s}=this.model;null!=i&&null!=s&&(this._title=s instanceof h.Title?s:new h.Title({text:s}));const{toolbar_location:o,toolbar:l}=this.model;null!=o&&null!=l&&(this._toolbar=new d.ToolbarPanel({toolbar:l}),l.toolbar_location=o),this.renderer_views=new Map,this.tool_views=new Map}async lazy_initialize(){this.canvas_view=await p.build_view(this.canvas,{parent:this}),this.ui_event_bus=new f.UIEvents(this,this.model.toolbar,this.canvas_view.events_el),await this.build_renderer_views(),await this.build_tool_views(),this.update_dataranges(),this.unpause(!0),g.logger.debug(\"PlotView initialized\")}_width_policy(){return null==this.model.frame_width?super._width_policy():\"min\"}_height_policy(){return null==this.model.frame_height?super._height_policy():\"min\"}_update_layout(){this.layout=new x.BorderLayout,this.layout.set_sizing(this.box_sizing());const{frame_width:t,frame_height:e}=this.model;this.layout.center_panel=this.frame,this.layout.center_panel.set_sizing(Object.assign(Object.assign({},null!=t?{width_policy:\"fixed\",width:t}:{width_policy:\"fit\"}),null!=e?{height_policy:\"fixed\",height:e}:{height_policy:\"fit\"}));const i=w.copy(this.model.above),s=w.copy(this.model.below),n=w.copy(this.model.left),a=w.copy(this.model.right),o=t=>{switch(t){case\"above\":return i;case\"below\":return s;case\"left\":return n;case\"right\":return a}},{title_location:l,title:r}=this.model;null!=l&&null!=r&&o(l).push(this._title);const{toolbar_location:_,toolbar:c}=this.model;if(null!=_&&null!=c){const t=o(_);let e=!0;if(this.model.toolbar_sticky)for(let i=0;i{const i=this.renderer_views.get(e);return i.layout=new z.SidePanel(t,i)},p=(t,e)=>{const i=\"above\"==t||\"below\"==t,s=[];for(const n of e)if(v.isArray(n)){const e=n.map(e=>{const s=u(t,e);if(e instanceof d.ToolbarPanel){const t=i?\"width_policy\":\"height_policy\";s.set_sizing(Object.assign(Object.assign({},s.sizing),{[t]:\"min\"}))}return s});let a;i?(a=new M.Row(e),a.set_sizing({width_policy:\"max\",height_policy:\"min\"})):(a=new M.Column(e),a.set_sizing({width_policy:\"min\",height_policy:\"max\"})),a.absolute=!0,s.push(a)}else s.push(u(t,n));return s},f=null!=this.model.min_border?this.model.min_border:0;this.layout.min_border={left:null!=this.model.min_border_left?this.model.min_border_left:f,top:null!=this.model.min_border_top?this.model.min_border_top:f,right:null!=this.model.min_border_right?this.model.min_border_right:f,bottom:null!=this.model.min_border_bottom?this.model.min_border_bottom:f};const b=new y.VStack,g=new y.VStack,m=new y.HStack,O=new y.HStack;b.children=w.reversed(p(\"above\",i)),g.children=p(\"below\",s),m.children=w.reversed(p(\"left\",n)),O.children=p(\"right\",a),b.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),g.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),m.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),O.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),this.layout.top_panel=b,this.layout.bottom_panel=g,this.layout.left_panel=m,this.layout.right_panel=O}get axis_views(){const t=[];for(const[,e]of this.renderer_views)e instanceof _.AxisView&&t.push(e);return t}set_cursor(t=\"default\"){this.canvas_view.el.style.cursor=t}set_toolbar_visibility(t){for(const e of this.visibility_callbacks)e(t)}update_dataranges(){const t=new Map,e=new Map;let i=!1;for(const[,t]of this.frame.x_ranges)t instanceof o.DataRange1d&&\"log\"==t.scale_hint&&(i=!0);for(const[,t]of this.frame.y_ranges)t instanceof o.DataRange1d&&\"log\"==t.scale_hint&&(i=!0);for(const[s,n]of this.renderer_views)if(n instanceof l.GlyphRendererView){const a=n.glyph.bounds();if(null!=a&&t.set(s,a),i){const t=n.glyph.log_bounds();null!=t&&e.set(s,t)}}let s=!1,n=!1;const{width:a,height:r}=this.frame.bbox;let h;!1!==this.model.match_aspect&&0!=a&&0!=r&&(h=1/this.model.aspect_scale*(a/r));for(const[,i]of this.frame.x_ranges){if(i instanceof o.DataRange1d){const n=\"log\"==i.scale_hint?e:t;i.update(n,0,this.model,h),i.follow&&(s=!0)}null!=i.bounds&&(n=!0)}for(const[,i]of this.frame.y_ranges){if(i instanceof o.DataRange1d){const n=\"log\"==i.scale_hint?e:t;i.update(n,1,this.model,h),i.follow&&(s=!0)}null!=i.bounds&&(n=!0)}if(s&&n){g.logger.warn(\"Follow enabled so bounds are unset.\");for(const[,t]of this.frame.x_ranges)t.bounds=null;for(const[,t]of this.frame.y_ranges)t.bounds=null}this.range_update_timestamp=Date.now()}push_state(t,e){const{history:i,index:s}=this.state,n=null!=i[s]?i[s].info:{},a=Object.assign(Object.assign(Object.assign({},this._initial_state_info),n),e);this.state.history=this.state.history.slice(0,this.state.index+1),this.state.history.push({type:t,info:a}),this.state.index=this.state.history.length-1,this.state_changed.emit()}clear_state(){this.state={history:[],index:-1},this.state_changed.emit()}can_undo(){return this.state.index>=0}can_redo(){return this.state.index=a.end&&(n=!0,a.end=t,(e||i)&&(a.start=t+l)),null!=o&&o<=a.start&&(n=!0,a.start=o,(e||i)&&(a.end=o-l))):(null!=t&&t>=a.start&&(n=!0,a.start=t,(e||i)&&(a.end=t+l)),null!=o&&o<=a.end&&(n=!0,a.end=o,(e||i)&&(a.start=o-l)))}}if(!(i&&n&&s))for(const[e,i]of t)e.have_updated_interactively=!0,e.start==i.start&&e.end==i.end||e.setv(i)}_get_weight_to_constrain_interval(t,e){const{min_interval:i}=t;let{max_interval:s}=t;if(null!=t.bounds&&\"auto\"!=t.bounds){const[e,i]=t.bounds;if(null!=e&&null!=i){const t=Math.abs(i-e);s=null!=s?Math.min(s,t):t}}let n=1;if(null!=i||null!=s){const a=Math.abs(t.end-t.start),o=Math.abs(e.end-e.start);i>0&&o0&&o>s&&(n=(s-a)/(o-a)),n=Math.max(0,Math.min(1,n))}return n}update_range(t,e=!1,i=!1,s=!0){this.pause();const{x_ranges:n,y_ranges:a}=this.frame;if(null==t){for(const[,t]of n)t.reset();for(const[,t]of a)t.reset();this.update_dataranges()}else{const o=[];for(const[e,i]of n)o.push([i,t.xrs.get(e)]);for(const[e,i]of a)o.push([i,t.yrs.get(e)]);i&&this._update_ranges_together(o),this._update_ranges_individually(o,e,i,s)}this.unpause()}reset_range(){this.update_range(null)}_invalidate_layout(){(()=>{for(const t of this.model.side_panels){if(this.renderer_views.get(t).layout.has_size_changed())return!0}return!1})()&&this.root.compute_layout()}get_renderer_views(){return this.computed_renderers.map(t=>this.renderer_views.get(t))}async build_renderer_views(){this.computed_renderers=[];const{above:t,below:e,left:i,right:s,center:n,renderers:a}=this.model;this.computed_renderers.push(...t,...e,...i,...s,...n,...a),null!=this._title&&this.computed_renderers.push(this._title),null!=this._toolbar&&this.computed_renderers.push(this._toolbar);for(const t of this.model.toolbar.tools)null!=t.overlay&&this.computed_renderers.push(t.overlay),this.computed_renderers.push(...t.synthetic_renderers);await p.build_views(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const t=this.model.toolbar.tools;(await p.build_views(this.tool_views,t,{parent:this})).map(t=>this.ui_event_bus.register_tool(t))}connect_signals(){super.connect_signals();const{x_ranges:t,y_ranges:e}=this.frame;for(const[,e]of t)this.connect(e.change,()=>{this._needs_layout=!0,this.request_paint()});for(const[,t]of e)this.connect(t.change,()=>{this._needs_layout=!0,this.request_paint()});const{plot_width:i,plot_height:s}=this.model.properties;this.on_change([i,s],()=>this.invalidate_layout());const{above:n,below:a,left:o,right:l,center:r,renderers:h}=this.model.properties;this.on_change([n,a,o,l,r,h],async()=>await this.build_renderer_views()),this.connect(this.model.toolbar.properties.tools.change,async()=>{await this.build_renderer_views(),await this.build_tool_views()}),this.connect(this.model.change,()=>this.request_paint()),this.connect(this.model.reset,()=>this.reset())}set_initial_range(){let t=!0;const{x_ranges:e,y_ranges:i}=this.frame,s=new Map,n=new Map;for(const[i,n]of e){const{start:e,end:a}=n;if(null==e||null==a||isNaN(e+a)){t=!1;break}s.set(i,{start:e,end:a})}if(t)for(const[e,s]of i){const{start:i,end:a}=s;if(null==i||null==a||isNaN(i+a)){t=!1;break}n.set(e,{start:i,end:a})}t?(this._initial_state_info.range={xrs:s,yrs:n},g.logger.debug(\"initial ranges set\")):g.logger.warn(\"could not set initial ranges\")}has_finished(){if(!super.has_finished())return!1;if(this.model.visible)for(const[,t]of this.renderer_views)if(!t.has_finished())return!1;return!0}after_layout(){if(super.after_layout(),this._needs_layout=!1,this.model.setv({inner_width:Math.round(this.frame.bbox.width),inner_height:Math.round(this.frame.bbox.height),outer_width:Math.round(this.layout.bbox.width),outer_height:Math.round(this.layout.bbox.height)},{no_change:!0}),!1!==this.model.match_aspect&&(this.pause(),this.update_dataranges(),this.unpause(!0)),!this._outer_bbox.equals(this.layout.bbox)){const{width:t,height:e}=this.layout.bbox;this.canvas_view.resize(t,e),this._outer_bbox=this.layout.bbox,this._invalidate_all=!0,this._needs_paint=!0}this._inner_bbox.equals(this.frame.inner_bbox)||(this._inner_bbox=this.layout.inner_bbox,this._needs_paint=!0),this._needs_paint&&this.paint()}repaint(){this._needs_layout&&this._invalidate_layout(),this.paint()}paint(){if(this.is_paused||!this.model.visible)return;g.logger.trace(\"PlotView.paint() for \"+this.model.id);const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e{t.interactive_duration()>this.model.lod_timeout&&t.interactive_stop(),this.request_paint()},this.model.lod_timeout):t.interactive_stop()}for(const[,t]of this.renderer_views)if(null==this.range_update_timestamp||t instanceof l.GlyphRendererView&&t.set_data_timestamp>this.range_update_timestamp){this.update_dataranges();break}let e=!1,i=!1;if(this._invalidate_all)e=!0,i=!0;else for(const t of this._invalidated_painters){const{level:s}=t.model;if(\"overlay\"!=s?e=!0:i=!0,e&&i)break}this._invalidated_painters.clear(),this._invalidate_all=!1;const s=[this.frame.bbox.left,this.frame.bbox.top,this.frame.bbox.width,this.frame.bbox.height],{primary:n,overlays:a}=this.canvas_view;e&&(n.prepare(),this.canvas_view.prepare_webgl(s),this.canvas_view.clear_webgl(),this._map_hook(n.ctx,s),this._paint_empty(n.ctx,s),this._paint_outline(n.ctx,s),this._paint_levels(n.ctx,\"image\",s,!0),this._paint_levels(n.ctx,\"underlay\",s,!0),this._paint_levels(n.ctx,\"glyph\",s,!0),this._paint_levels(n.ctx,\"guide\",s,!1),this._paint_levels(n.ctx,\"annotation\",s,!1),n.finish()),i&&(a.prepare(),this._paint_levels(a.ctx,\"overlay\",s,!1),a.finish()),null==this._initial_state_info.range&&this.set_initial_range(),this._needs_paint=!1}_paint_levels(t,e,i,s){for(const n of this.computed_renderers){if(n.level!=e)continue;const a=this.renderer_views.get(n);t.save(),(s||a.needs_clip)&&(t.beginPath(),t.rect(...i),t.clip()),a.render(),t.restore(),a.has_webgl&&a.needs_webgl_blit&&(this.canvas_view.blit_webgl(t),this.canvas_view.clear_webgl())}}_map_hook(t,e){}_paint_empty(t,e){const[i,s,n,a]=[0,0,this.layout.bbox.width,this.layout.bbox.height],[o,l,r,h]=e;this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(t),t.fillRect(i,s,n,a),t.clearRect(o,l,r,h)),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(o,l,r,h))}_paint_outline(t,e){if(this.visuals.outline_line.doit){t.save(),this.visuals.outline_line.set_value(t);let[i,s,n,a]=e;i+n==this.layout.bbox.width&&(n-=1),s+a==this.layout.bbox.height&&(a-=1),t.strokeRect(i,s,n,a),t.restore()}}to_blob(){return this.canvas_view.to_blob()}export(t,e=!0){const i=\"png\"==t?\"canvas\":\"svg\",s=new a.CanvasLayer(i,e),{width:n,height:o}=this.layout.bbox;s.resize(n,o);const{canvas:l}=this.canvas_view.compose();return s.ctx.drawImage(l,0,0),s}serializable_state(){const t=super.serializable_state(),{children:e}=t,i=s(t,[\"children\"]),n=this.get_renderer_views().map(t=>t.serializable_state()).filter(t=>\"bbox\"in t);return Object.assign(Object.assign({},i),{children:[...e,...n]})}}i.PlotView=k,k.__name__=\"PlotView\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});var n=this&&this.__decorate||function(e,t,s,n){var _,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,s):n;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,s,n);else for(var r=e.length-1;r>=0;r--)(_=e[r])&&(o=(a<3?_(o):a>3?_(t,s,o):_(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o};function _(e){return function(t){t.prototype.event_name=e}}class a{to_json(){const{event_name:e}=this;return{event_name:e,event_values:this._to_json()}}}s.BokehEvent=a,a.__name__=\"BokehEvent\";class o extends a{constructor(){super(...arguments),this.origin=null}_to_json(){return{model:this.origin}}}s.ModelEvent=o,o.__name__=\"ModelEvent\";let r=class extends a{_to_json(){return{}}};s.DocumentReady=r,r.__name__=\"DocumentReady\",s.DocumentReady=r=n([_(\"document_ready\")],r);let c=class extends o{};s.ButtonClick=c,c.__name__=\"ButtonClick\",s.ButtonClick=c=n([_(\"button_click\")],c);let l=class extends o{constructor(e){super(),this.item=e}_to_json(){const{item:e}=this;return Object.assign(Object.assign({},super._to_json()),{item:e})}};s.MenuItemClick=l,l.__name__=\"MenuItemClick\",s.MenuItemClick=l=n([_(\"menu_item_click\")],l);class i extends o{}s.UIEvent=i,i.__name__=\"UIEvent\";let u=class extends i{};s.LODStart=u,u.__name__=\"LODStart\",s.LODStart=u=n([_(\"lodstart\")],u);let d=class extends i{};s.LODEnd=d,d.__name__=\"LODEnd\",s.LODEnd=d=n([_(\"lodend\")],d);let h=class extends i{constructor(e,t){super(),this.geometry=e,this.final=t}_to_json(){const{geometry:e,final:t}=this;return Object.assign(Object.assign({},super._to_json()),{geometry:e,final:t})}};s.SelectionGeometry=h,h.__name__=\"SelectionGeometry\",s.SelectionGeometry=h=n([_(\"selectiongeometry\")],h);let m=class extends i{};s.Reset=m,m.__name__=\"Reset\",s.Reset=m=n([_(\"reset\")],m);class x extends i{constructor(e,t,s,n){super(),this.sx=e,this.sy=t,this.x=s,this.y=n}_to_json(){const{sx:e,sy:t,x:s,y:n}=this;return Object.assign(Object.assign({},super._to_json()),{sx:e,sy:t,x:s,y:n})}}s.PointEvent=x,x.__name__=\"PointEvent\";let p=class extends x{constructor(e,t,s,n,_,a){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.delta_x=_,this.delta_y=a}_to_json(){const{delta_x:e,delta_y:t}=this;return Object.assign(Object.assign({},super._to_json()),{delta_x:e,delta_y:t})}};s.Pan=p,p.__name__=\"Pan\",s.Pan=p=n([_(\"pan\")],p);let j=class extends x{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.scale=_}_to_json(){const{scale:e}=this;return Object.assign(Object.assign({},super._to_json()),{scale:e})}};s.Pinch=j,j.__name__=\"Pinch\",s.Pinch=j=n([_(\"pinch\")],j);let y=class extends x{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.rotation=_}_to_json(){const{rotation:e}=this;return Object.assign(Object.assign({},super._to_json()),{rotation:e})}};s.Rotate=y,y.__name__=\"Rotate\",s.Rotate=y=n([_(\"rotate\")],y);let P=class extends x{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.delta=_}_to_json(){const{delta:e}=this;return Object.assign(Object.assign({},super._to_json()),{delta:e})}};s.MouseWheel=P,P.__name__=\"MouseWheel\",s.MouseWheel=P=n([_(\"wheel\")],P);let v=class extends x{};s.MouseMove=v,v.__name__=\"MouseMove\",s.MouseMove=v=n([_(\"mousemove\")],v);let O=class extends x{};s.MouseEnter=O,O.__name__=\"MouseEnter\",s.MouseEnter=O=n([_(\"mouseenter\")],O);let b=class extends x{};s.MouseLeave=b,b.__name__=\"MouseLeave\",s.MouseLeave=b=n([_(\"mouseleave\")],b);let g=class extends x{};s.Tap=g,g.__name__=\"Tap\",s.Tap=g=n([_(\"tap\")],g);let E=class extends x{};s.DoubleTap=E,E.__name__=\"DoubleTap\",s.DoubleTap=E=n([_(\"doubletap\")],E);let M=class extends x{};s.Press=M,M.__name__=\"Press\",s.Press=M=n([_(\"press\")],M);let R=class extends x{};s.PressUp=R,R.__name__=\"PressUp\",s.PressUp=R=n([_(\"pressup\")],R);let f=class extends x{};s.PanStart=f,f.__name__=\"PanStart\",s.PanStart=f=n([_(\"panstart\")],f);let S=class extends x{};s.PanEnd=S,S.__name__=\"PanEnd\",s.PanEnd=S=n([_(\"panend\")],S);let D=class extends x{};s.PinchStart=D,D.__name__=\"PinchStart\",s.PinchStart=D=n([_(\"pinchstart\")],D);let k=class extends x{};s.PinchEnd=k,k.__name__=\"PinchEnd\",s.PinchEnd=k=n([_(\"pinchend\")],k);let L=class extends x{};s.RotateStart=L,L.__name__=\"RotateStart\",s.RotateStart=L=n([_(\"rotatestart\")],L);let C=class extends x{};s.RotateEnd=C,C.__name__=\"RotateEnd\",s.RotateEnd=C=n([_(\"rotateend\")],C)},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=t(1),i=n.__importDefault(t(297)),r=t(15),a=t(19),h=t(72),_=n.__importStar(t(313)),o=t(315),c=t(9),l=t(8),p=t(32),u=t(302);class d{constructor(t,e,s){this.plot_view=t,this.toolbar=e,this.hit_area=s,this.pan_start=new r.Signal(this,\"pan:start\"),this.pan=new r.Signal(this,\"pan\"),this.pan_end=new r.Signal(this,\"pan:end\"),this.pinch_start=new r.Signal(this,\"pinch:start\"),this.pinch=new r.Signal(this,\"pinch\"),this.pinch_end=new r.Signal(this,\"pinch:end\"),this.rotate_start=new r.Signal(this,\"rotate:start\"),this.rotate=new r.Signal(this,\"rotate\"),this.rotate_end=new r.Signal(this,\"rotate:end\"),this.tap=new r.Signal(this,\"tap\"),this.doubletap=new r.Signal(this,\"doubletap\"),this.press=new r.Signal(this,\"press\"),this.pressup=new r.Signal(this,\"pressup\"),this.move_enter=new r.Signal(this,\"move:enter\"),this.move=new r.Signal(this,\"move\"),this.move_exit=new r.Signal(this,\"move:exit\"),this.scroll=new r.Signal(this,\"scroll\"),this.keydown=new r.Signal(this,\"keydown\"),this.keyup=new r.Signal(this,\"keyup\"),this.hammer=new i.default(this.hit_area,{touchAction:\"auto\",inputClass:i.default.TouchMouseInput}),this._configure_hammerjs(),this.hit_area.addEventListener(\"mousemove\",t=>this._mouse_move(t)),this.hit_area.addEventListener(\"mouseenter\",t=>this._mouse_enter(t)),this.hit_area.addEventListener(\"mouseleave\",t=>this._mouse_exit(t)),this.hit_area.addEventListener(\"contextmenu\",t=>this._context_menu(t)),this.hit_area.addEventListener(\"wheel\",t=>this._mouse_wheel(t)),document.addEventListener(\"keydown\",this),document.addEventListener(\"keyup\",this),this.menu=new u.ContextMenu([],{prevent_hide:t=>2==t.button&&t.target==this.hit_area}),this.hit_area.appendChild(this.menu.el)}destroy(){this.menu.remove(),this.hammer.destroy(),document.removeEventListener(\"keydown\",this),document.removeEventListener(\"keyup\",this)}handleEvent(t){\"keydown\"==t.type?this._key_down(t):\"keyup\"==t.type&&this._key_up(t)}_configure_hammerjs(){this.hammer.get(\"doubletap\").recognizeWith(\"tap\"),this.hammer.get(\"tap\").requireFailure(\"doubletap\"),this.hammer.get(\"doubletap\").dropRequireFailure(\"tap\"),this.hammer.on(\"doubletap\",t=>this._doubletap(t)),this.hammer.on(\"tap\",t=>this._tap(t)),this.hammer.on(\"press\",t=>this._press(t)),this.hammer.on(\"pressup\",t=>this._pressup(t)),this.hammer.get(\"pan\").set({direction:i.default.DIRECTION_ALL}),this.hammer.on(\"panstart\",t=>this._pan_start(t)),this.hammer.on(\"pan\",t=>this._pan(t)),this.hammer.on(\"panend\",t=>this._pan_end(t)),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"pinchstart\",t=>this._pinch_start(t)),this.hammer.on(\"pinch\",t=>this._pinch(t)),this.hammer.on(\"pinchend\",t=>this._pinch_end(t)),this.hammer.get(\"rotate\").set({enable:!0}),this.hammer.on(\"rotatestart\",t=>this._rotate_start(t)),this.hammer.on(\"rotate\",t=>this._rotate(t)),this.hammer.on(\"rotateend\",t=>this._rotate_end(t))}register_tool(t){const e=t.model.event_type;null!=e&&(l.isString(e)?this._register_tool(t,e):e.forEach((e,s)=>this._register_tool(t,e,s<1)))}_register_tool(t,e,s=!0){const n=t,{id:i}=n.model,r=t=>e=>{e.id==i&&t(e.e)},h=t=>e=>{t(e.e)};switch(e){case\"pan\":null!=n._pan_start&&n.connect(this.pan_start,r(n._pan_start.bind(n))),null!=n._pan&&n.connect(this.pan,r(n._pan.bind(n))),null!=n._pan_end&&n.connect(this.pan_end,r(n._pan_end.bind(n)));break;case\"pinch\":null!=n._pinch_start&&n.connect(this.pinch_start,r(n._pinch_start.bind(n))),null!=n._pinch&&n.connect(this.pinch,r(n._pinch.bind(n))),null!=n._pinch_end&&n.connect(this.pinch_end,r(n._pinch_end.bind(n)));break;case\"rotate\":null!=n._rotate_start&&n.connect(this.rotate_start,r(n._rotate_start.bind(n))),null!=n._rotate&&n.connect(this.rotate,r(n._rotate.bind(n))),null!=n._rotate_end&&n.connect(this.rotate_end,r(n._rotate_end.bind(n)));break;case\"move\":null!=n._move_enter&&n.connect(this.move_enter,r(n._move_enter.bind(n))),null!=n._move&&n.connect(this.move,r(n._move.bind(n))),null!=n._move_exit&&n.connect(this.move_exit,r(n._move_exit.bind(n)));break;case\"tap\":null!=n._tap&&n.connect(this.tap,r(n._tap.bind(n)));break;case\"press\":null!=n._press&&n.connect(this.press,r(n._press.bind(n))),null!=n._pressup&&n.connect(this.pressup,r(n._pressup.bind(n)));break;case\"scroll\":null!=n._scroll&&n.connect(this.scroll,r(n._scroll.bind(n)));break;default:throw new Error(\"unsupported event_type: \"+e)}s&&(null!=n._doubletap&&n.connect(this.doubletap,h(n._doubletap.bind(n))),null!=n._keydown&&n.connect(this.keydown,h(n._keydown.bind(n))),null!=n._keyup&&n.connect(this.keyup,h(n._keyup.bind(n))),p.is_mobile&&null!=n._scroll&&\"pinch\"==e&&(a.logger.debug(\"Registering scroll on touch screen\"),n.connect(this.scroll,r(n._scroll.bind(n)))))}_hit_test_renderers(t,e){const s=this.plot_view.get_renderer_views();for(const n of c.reversed(s)){const{level:s}=n.model;if((\"annotation\"==s||\"overlay\"==s)&&null!=n.interactive_hit&&n.interactive_hit(t,e))return n}return null}_hit_test_frame(t,e){return this.plot_view.frame.bbox.contains(t,e)}_hit_test_canvas(t,e){return this.plot_view.layout.bbox.contains(t,e)}_trigger(t,e,s){const n=this.toolbar.gestures,i=t.name.split(\":\")[0],r=this._hit_test_renderers(e.sx,e.sy),a=this._hit_test_canvas(e.sx,e.sy);switch(i){case\"move\":{const s=n[i].active;null!=s&&this.trigger(t,e,s.id);const h=this.toolbar.inspectors.filter(t=>t.active);let _=\"default\";null!=r?(_=r.cursor(e.sx,e.sy)||_,c.is_empty(h)||(t=this.move_exit)):this._hit_test_frame(e.sx,e.sy)&&(c.is_empty(h)||(_=\"crosshair\")),this.plot_view.set_cursor(_),this.plot_view.set_toolbar_visibility(a),h.map(s=>this.trigger(t,e,s.id));break}case\"tap\":{const{target:a}=s;if(null!=a&&a!=this.hit_area)return;null!=r&&null!=r.on_hit&&r.on_hit(e.sx,e.sy);const h=n[i].active;null!=h&&this.trigger(t,e,h.id);break}case\"scroll\":{const i=n[p.is_mobile?\"pinch\":\"scroll\"].active;null!=i&&(s.preventDefault(),s.stopPropagation(),this.trigger(t,e,i.id));break}case\"pan\":{const r=n[i].active;null!=r&&(s.preventDefault(),this.trigger(t,e,r.id));break}default:{const s=n[i].active;null!=s&&this.trigger(t,e,s.id)}}this._trigger_bokeh_event(e)}trigger(t,e,s=null){t.emit({id:s,e})}_trigger_bokeh_event(t){const e=(()=>{const{sx:e,sy:s}=t,n=this.plot_view.frame.x_scale.invert(e),i=this.plot_view.frame.y_scale.invert(s);switch(t.type){case\"wheel\":return new _.MouseWheel(e,s,n,i,t.delta);case\"mousemove\":return new _.MouseMove(e,s,n,i);case\"mouseenter\":return new _.MouseEnter(e,s,n,i);case\"mouseleave\":return new _.MouseLeave(e,s,n,i);case\"tap\":return new _.Tap(e,s,n,i);case\"doubletap\":return new _.DoubleTap(e,s,n,i);case\"press\":return new _.Press(e,s,n,i);case\"pressup\":return new _.PressUp(e,s,n,i);case\"pan\":return new _.Pan(e,s,n,i,t.deltaX,t.deltaY);case\"panstart\":return new _.PanStart(e,s,n,i);case\"panend\":return new _.PanEnd(e,s,n,i);case\"pinch\":return new _.Pinch(e,s,n,i,t.scale);case\"pinchstart\":return new _.PinchStart(e,s,n,i);case\"pinchend\":return new _.PinchEnd(e,s,n,i);case\"rotate\":return new _.Rotate(e,s,n,i,t.rotation);case\"rotatestart\":return new _.RotateStart(e,s,n,i);case\"rotateend\":return new _.RotateEnd(e,s,n,i);default:return}})();null!=e&&this.plot_view.model.trigger_event(e)}_get_sxy(t){const{pageX:e,pageY:s}=function(t){return\"undefined\"!=typeof TouchEvent&&t instanceof TouchEvent}(t)?(0!=t.touches.length?t.touches:t.changedTouches)[0]:t,{left:n,top:i}=h.offset(this.hit_area);return{sx:e-n,sy:s-i}}_pan_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{deltaX:t.deltaX,deltaY:t.deltaY,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_pinch_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{scale:t.scale,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_rotate_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{rotation:t.rotation,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_tap_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_move_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_scroll_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{delta:o.getDeltaY(t),shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_key_event(t){return{type:t.type,keyCode:t.keyCode}}_pan_start(t){const e=this._pan_event(t);e.sx-=t.deltaX,e.sy-=t.deltaY,this._trigger(this.pan_start,e,t.srcEvent)}_pan(t){this._trigger(this.pan,this._pan_event(t),t.srcEvent)}_pan_end(t){this._trigger(this.pan_end,this._pan_event(t),t.srcEvent)}_pinch_start(t){this._trigger(this.pinch_start,this._pinch_event(t),t.srcEvent)}_pinch(t){this._trigger(this.pinch,this._pinch_event(t),t.srcEvent)}_pinch_end(t){this._trigger(this.pinch_end,this._pinch_event(t),t.srcEvent)}_rotate_start(t){this._trigger(this.rotate_start,this._rotate_event(t),t.srcEvent)}_rotate(t){this._trigger(this.rotate,this._rotate_event(t),t.srcEvent)}_rotate_end(t){this._trigger(this.rotate_end,this._rotate_event(t),t.srcEvent)}_tap(t){this._trigger(this.tap,this._tap_event(t),t.srcEvent)}_doubletap(t){const e=this._tap_event(t);this._trigger_bokeh_event(e),this.trigger(this.doubletap,e)}_press(t){this._trigger(this.press,this._tap_event(t),t.srcEvent)}_pressup(t){this._trigger(this.pressup,this._tap_event(t),t.srcEvent)}_mouse_enter(t){this._trigger(this.move_enter,this._move_event(t),t)}_mouse_move(t){this._trigger(this.move,this._move_event(t),t)}_mouse_exit(t){this._trigger(this.move_exit,this._move_event(t),t)}_mouse_wheel(t){this._trigger(this.scroll,this._scroll_event(t),t)}_context_menu(t){!this.menu.is_open&&this.menu.can_open&&t.preventDefault();const{sx:e,sy:s}=this._get_sxy(t);this.menu.toggle({left:e,top:s})}_key_down(t){this.trigger(this.keydown,this._key_event(t))}_key_up(t){this.trigger(this.keyup,this._key_event(t))}}s.UIEvents=d,d.__name__=\"UIEvents\"},\n", + " function _(e,t,n){\n", + " /*!\n", + " * jQuery Mousewheel 3.1.13\n", + " *\n", + " * Copyright jQuery Foundation and other contributors\n", + " * Released under the MIT license\n", + " * http://jquery.org/license\n", + " */\n", + " function r(e){const t=getComputedStyle(e).fontSize;return null!=t?parseInt(t,10):null}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getDeltaY=function(e){let t=-e.deltaY;if(e.target instanceof HTMLElement)switch(e.deltaMode){case e.DOM_DELTA_LINE:t*=r((n=e.target).offsetParent||document.body)||r(n)||16;break;case e.DOM_DELTA_PAGE:t*=function(e){return e.clientHeight}(e.target)}var n;return t}},\n", + " function _(n,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const t=(\"undefined\"!=typeof window?window.requestAnimationFrame:void 0)||(\"undefined\"!=typeof window?window.webkitRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window?window.mozRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window?window.msRequestAnimationFrame:void 0)||function(n){return n(Date.now()),-1};o.throttle=function(n,e){let o=null,i=0,u=!1;return function(){return new Promise((d,w)=>{const r=function(){i=Date.now(),o=null,u=!1;try{n(),d()}catch(n){w(n)}},a=Date.now(),f=e-(a-i);f<=0&&!u?(null!=o&&clearTimeout(o),u=!0,t(r)):o||u?d():o=setTimeout(()=>t(r),f)})}}},\n", + " function _(t,e,h){Object.defineProperty(h,\"__esModule\",{value:!0});const i=t(213),o=t(214),r=t(79);class s extends o.Layoutable{constructor(){super(...arguments),this.min_border={left:0,top:0,right:0,bottom:0}}_measure(t){t=new i.Sizeable(t).bounded_to(this.sizing.size);const e=this.left_panel.measure({width:0,height:t.height}),h=Math.max(e.width,this.min_border.left),o=this.right_panel.measure({width:0,height:t.height}),r=Math.max(o.width,this.min_border.right),s=this.top_panel.measure({width:t.width,height:0}),n=Math.max(s.height,this.min_border.top),a=this.bottom_panel.measure({width:t.width,height:0}),g=Math.max(a.height,this.min_border.bottom),_=new i.Sizeable(t).shrink_by({left:h,right:r,top:n,bottom:g}),m=this.center_panel.measure(_);return{width:h+m.width+r,height:n+m.height+g,inner:{left:h,right:r,top:n,bottom:g},align:(()=>{const{width_policy:t,height_policy:e}=this.center_panel.sizing;return\"fixed\"!=t&&\"fixed\"!=e})()}}_set_geometry(t,e){super._set_geometry(t,e),this.center_panel.set_geometry(e);const h=this.left_panel.measure({width:0,height:t.height}),i=this.right_panel.measure({width:0,height:t.height}),o=this.top_panel.measure({width:t.width,height:0}),s=this.bottom_panel.measure({width:t.width,height:0}),{left:n,top:a,right:g,bottom:_}=e;this.top_panel.set_geometry(new r.BBox({left:n,right:g,bottom:a,height:o.height})),this.bottom_panel.set_geometry(new r.BBox({left:n,right:g,top:_,height:s.height})),this.left_panel.set_geometry(new r.BBox({top:a,bottom:_,right:n,width:h.width})),this.right_panel.set_geometry(new r.BBox({top:a,bottom:_,left:g,width:i.width}))}}h.BorderLayout=s,s.__name__=\"BorderLayout\"},\n", + " function _(i,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const l=i(213),a=i(214),r=i(8),o=Math.PI/2,h=\"left\",s=\"center\",n={above:{parallel:0,normal:-o,horizontal:0,vertical:-o},below:{parallel:0,normal:o,horizontal:0,vertical:o},left:{parallel:-o,normal:0,horizontal:0,vertical:-o},right:{parallel:o,normal:0,horizontal:0,vertical:o}},d={above:{justified:\"top\",parallel:\"alphabetic\",normal:\"middle\",horizontal:\"alphabetic\",vertical:\"middle\"},below:{justified:\"bottom\",parallel:\"hanging\",normal:\"middle\",horizontal:\"hanging\",vertical:\"middle\"},left:{justified:\"top\",parallel:\"alphabetic\",normal:\"middle\",horizontal:\"middle\",vertical:\"alphabetic\"},right:{justified:\"top\",parallel:\"alphabetic\",normal:\"middle\",horizontal:\"middle\",vertical:\"alphabetic\"}},_={above:{justified:s,parallel:s,normal:h,horizontal:s,vertical:h},below:{justified:s,parallel:s,normal:h,horizontal:s,vertical:h},left:{justified:s,parallel:s,normal:\"right\",horizontal:\"right\",vertical:s},right:{justified:s,parallel:s,normal:h,horizontal:h,vertical:s}},c={above:\"right\",below:h,left:\"right\",right:h},m={above:h,below:\"right\",left:\"right\",right:h};class g extends a.ContentLayoutable{constructor(i,t){switch(super(),this.side=i,this.obj=t,this.side){case\"above\":this._dim=0,this._normals=[0,-1];break;case\"below\":this._dim=0,this._normals=[0,1];break;case\"left\":this._dim=1,this._normals=[-1,0];break;case\"right\":this._dim=1,this._normals=[1,0]}this.is_horizontal?this.set_sizing({width_policy:\"max\",height_policy:\"fixed\"}):this.set_sizing({width_policy:\"fixed\",height_policy:\"max\"})}_content_size(){return new l.Sizeable(this.get_oriented_size())}get_oriented_size(){const{width:i,height:t}=this.obj.get_size();return!this.obj.rotate||this.is_horizontal?{width:i,height:t}:{width:t,height:i}}has_size_changed(){const{width:i,height:t}=this.get_oriented_size();return this.is_horizontal?this.bbox.height!=t:this.bbox.width!=i}get dimension(){return this._dim}get normals(){return this._normals}get is_horizontal(){return 0==this._dim}get is_vertical(){return 1==this._dim}apply_label_text_heuristics(i,t){const e=this.side;let l,a;r.isString(t)?(l=d[e][t],a=_[e][t]):t<0?(l=\"middle\",a=c[e]):(l=\"middle\",a=m[e]),i.textBaseline=l,i.textAlign=a}get_label_angle_heuristic(i){return n[this.side][i]}}e.SidePanel=g,g.__name__=\"SidePanel\"},\n", + " function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=t(15),o=t(72),a=t(37),n=t(312),p=new i.Signal0({},\"gmaps_ready\");class l extends n.PlotView{initialize(){this.pause(),super.initialize(),this._tiles_loaded=!1,this.zoom_count=0;const{zoom:t,lat:e,lng:s}=this.model.map_options;if(this.initial_zoom=t,this.initial_lat=e,this.initial_lng=s,\"undefined\"==typeof google||null==google.maps){if(void 0===window._bokeh_gmaps_callback){!function(t){window._bokeh_gmaps_callback=()=>p.emit();const e=document.createElement(\"script\");e.type=\"text/javascript\",e.src=`https://maps.googleapis.com/maps/api/js?v=3.36&key=${t}&callback=_bokeh_gmaps_callback`,document.body.appendChild(e)}(atob(this.model.api_key))}p.connect(()=>this.request_render())}this.unpause()}remove(){o.remove(this.map_el),super.remove()}update_range(t){if(null==t)this.map.setCenter({lat:this.initial_lat,lng:this.initial_lng}),this.map.setOptions({zoom:this.initial_zoom}),super.update_range(null);else if(null!=t.sdx||null!=t.sdy)this.map.panBy(t.sdx||0,t.sdy||0),super.update_range(t);else if(null!=t.factor){if(10!==this.zoom_count)return void(this.zoom_count+=1);this.zoom_count=0,this.pause(),super.update_range(t);const e=t.factor<0?-1:1,s=this.map.getZoom(),i=s+e;if(i>=2){this.map.setZoom(i);const[t,e,,]=this._get_projected_bounds();e-t<0&&this.map.setZoom(s)}this.unpause()}this._set_bokeh_ranges()}_build_map(){const{maps:t}=google;this.map_types={satellite:t.MapTypeId.SATELLITE,terrain:t.MapTypeId.TERRAIN,roadmap:t.MapTypeId.ROADMAP,hybrid:t.MapTypeId.HYBRID};const e=this.model.map_options,s={center:new t.LatLng(e.lat,e.lng),zoom:e.zoom,disableDefaultUI:!0,mapTypeId:this.map_types[e.map_type],scaleControl:e.scale_control,tilt:e.tilt};null!=e.styles&&(s.styles=JSON.parse(e.styles)),this.map_el=o.div({style:{position:\"absolute\"}}),this.canvas_view.add_underlay(this.map_el),this.map=new t.Map(this.map_el,s),t.event.addListener(this.map,\"idle\",()=>this._set_bokeh_ranges()),t.event.addListener(this.map,\"bounds_changed\",()=>this._set_bokeh_ranges()),t.event.addListenerOnce(this.map,\"tilesloaded\",()=>this._render_finished()),this.connect(this.model.properties.map_options.change,()=>this._update_options()),this.connect(this.model.map_options.properties.styles.change,()=>this._update_styles()),this.connect(this.model.map_options.properties.lat.change,()=>this._update_center(\"lat\")),this.connect(this.model.map_options.properties.lng.change,()=>this._update_center(\"lng\")),this.connect(this.model.map_options.properties.zoom.change,()=>this._update_zoom()),this.connect(this.model.map_options.properties.map_type.change,()=>this._update_map_type()),this.connect(this.model.map_options.properties.scale_control.change,()=>this._update_scale_control()),this.connect(this.model.map_options.properties.tilt.change,()=>this._update_tilt())}_render_finished(){this._tiles_loaded=!0,this.notify_finished()}has_finished(){return super.has_finished()&&!0===this._tiles_loaded}_get_latlon_bounds(){const t=this.map.getBounds(),e=t.getNorthEast(),s=t.getSouthWest();return[s.lng(),e.lng(),s.lat(),e.lat()]}_get_projected_bounds(){const[t,e,s,i]=this._get_latlon_bounds(),[o,n]=a.wgs84_mercator.compute(t,s),[p,l]=a.wgs84_mercator.compute(e,i);return[o,p,n,l]}_set_bokeh_ranges(){const[t,e,s,i]=this._get_projected_bounds();this.frame.x_range.setv({start:t,end:e}),this.frame.y_range.setv({start:s,end:i})}_update_center(t){const e=this.map.getCenter().toJSON();e[t]=this.model.map_options[t],this.map.setCenter(e),this._set_bokeh_ranges()}_update_map_type(){this.map.setOptions({mapTypeId:this.map_types[this.model.map_options.map_type]})}_update_scale_control(){this.map.setOptions({scaleControl:this.model.map_options.scale_control})}_update_tilt(){this.map.setOptions({tilt:this.model.map_options.tilt})}_update_options(){this._update_styles(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()}_update_styles(){this.map.setOptions({styles:JSON.parse(this.model.map_options.styles)})}_update_zoom(){this.map.setOptions({zoom:this.model.map_options.zoom}),this._set_bokeh_ranges()}_map_hook(t,e){if(null==this.map&&\"undefined\"!=typeof google&&null!=google.maps&&this._build_map(),null!=this.map_el){const[t,s,i,o]=e;this.map_el.style.top=s+\"px\",this.map_el.style.left=t+\"px\",this.map_el.style.width=i+\"px\",this.map_el.style.height=o+\"px\"}}_paint_empty(t,e){const s=this.layout.bbox.width,i=this.layout.bbox.height,[o,a,n,p]=e;t.clearRect(0,0,s,i),t.beginPath(),t.moveTo(0,0),t.lineTo(0,i),t.lineTo(s,i),t.lineTo(s,0),t.lineTo(0,0),t.moveTo(o,a),t.lineTo(o+n,a),t.lineTo(o+n,a+p),t.lineTo(o,a+p),t.lineTo(o,a),t.closePath(),null!=this.model.border_fill_color&&(t.fillStyle=this.model.border_fill_color,t.fill())}}s.GMapPlotView=l,l.__name__=\"GMapPlotView\"},\n", + " function _(a,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});var g=a(211);n.DataRange=g.DataRange;var R=a(210);n.DataRange1d=R.DataRange1d;var r=a(98);n.FactorRange=r.FactorRange;var t=a(99);n.Range=t.Range;var d=a(158);n.Range1d=d.Range1d},\n", + " function _(e,r,d){Object.defineProperty(d,\"__esModule\",{value:!0});var n=e(90);d.GlyphRenderer=n.GlyphRenderer;var R=e(116);d.GraphRenderer=R.GraphRenderer;var a=e(178);d.GuideRenderer=a.GuideRenderer;var G=e(70);d.Renderer=G.Renderer},\n", + " function _(a,e,l){Object.defineProperty(l,\"__esModule\",{value:!0});var c=a(209);l.CategoricalScale=c.CategoricalScale;var r=a(146);l.ContinuousScale=r.ContinuousScale;var n=a(145);l.LinearScale=n.LinearScale;var o=a(156);l.LinearInterpolationScale=o.LinearInterpolationScale;var i=a(157);l.LogScale=i.LogScale;var S=a(147);l.Scale=S.Scale},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});e(1).__exportStar(e(118),o);var n=e(88);o.Selection=n.Selection},\n", + " function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});var o=a(325);r.ServerSentDataSource=o.ServerSentDataSource;var S=a(327);r.AjaxDataSource=S.AjaxDataSource;var u=a(85);r.ColumnDataSource=u.ColumnDataSource;var t=a(86);r.ColumnarDataSource=t.ColumnarDataSource;var c=a(114);r.CDSView=c.CDSView;var D=a(87);r.DataSource=D.DataSource;var v=a(328);r.GeoJSONDataSource=v.GeoJSONDataSource;var n=a(326);r.WebDataSource=n.WebDataSource},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const a=e(326);class s extends a.WebDataSource{constructor(e){super(e),this.initialized=!1}destroy(){super.destroy()}setup(){if(!this.initialized){this.initialized=!0;new EventSource(this.data_url).onmessage=e=>{this.load_data(JSON.parse(e.data),this.mode,this.max_size)}}}}i.ServerSentDataSource=s,s.__name__=\"ServerSentDataSource\"},\n", + " function _(e,t,a){Object.defineProperty(a,\"__esModule\",{value:!0});const r=e(1),s=e(85),i=r.__importStar(e(18));class n extends s.ColumnDataSource{constructor(e){super(e)}get_column(e){const t=this.data[e];return null!=t?t:[]}initialize(){super.initialize(),this.setup()}load_data(e,t,a){const{adapter:r}=this;let s;switch(s=null!=r?r.execute(this,{response:e}):e,t){case\"replace\":this.data=s;break;case\"append\":{const e=this.data;for(const t of this.columns()){const r=Array.from(e[t]),i=Array.from(s[t]);s[t]=r.concat(i).slice(-a)}this.data=s;break}}}static init_WebDataSource(){this.define({mode:[i.UpdateMode,\"replace\"],max_size:[i.Number],adapter:[i.Any,null],data_url:[i.String]})}}a.WebDataSource=n,n.__name__=\"WebDataSource\",n.init_WebDataSource()},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),a=t(326),r=t(19),o=s.__importStar(t(18)),n=t(13);class d extends a.WebDataSource{constructor(t){super(t),this.initialized=!1}static init_AjaxDataSource(){this.define({polling_interval:[o.Number],content_type:[o.String,\"application/json\"],http_headers:[o.Any,{}],method:[o.HTTPMethod,\"POST\"],if_modified:[o.Boolean,!1]})}destroy(){null!=this.interval&&clearInterval(this.interval),super.destroy()}setup(){if(!this.initialized&&(this.initialized=!0,this.get_data(this.mode),this.polling_interval)){const t=()=>this.get_data(this.mode,this.max_size,this.if_modified);this.interval=setInterval(t,this.polling_interval)}}get_data(t,e=0,i=!1){const s=this.prepare_request();s.addEventListener(\"load\",()=>this.do_load(s,t,e)),s.addEventListener(\"error\",()=>this.do_error(s)),s.send()}prepare_request(){const t=new XMLHttpRequest;t.open(this.method,this.data_url,!0),t.withCredentials=!1,t.setRequestHeader(\"Content-Type\",this.content_type);const e=this.http_headers;for(const[i,s]of n.entries(e))t.setRequestHeader(i,s);return t}do_load(t,e,i){if(200===t.status){const s=JSON.parse(t.responseText);this.load_data(s,e,i)}}do_error(t){r.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=d,d.__name__=\"AjaxDataSource\",d.init_AjaxDataSource()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(1),n=e(86),s=e(19),a=r.__importStar(e(18)),i=e(9),l=e(13);function c(e){return null!=e?e:NaN}class _ extends n.ColumnarDataSource{constructor(e){super(e)}static init_GeoJSONDataSource(){this.define({geojson:[a.Any]}),this.internal({data:[a.Any,{}]})}initialize(){super.initialize(),this._update_data()}connect_signals(){super.connect_signals(),this.connect(this.properties.geojson.change,()=>this._update_data())}_update_data(){this.data=this.geojson_to_column_data()}_get_new_list_array(e){return i.range(0,e).map(e=>[])}_get_new_nan_array(e){return i.range(0,e).map(e=>NaN)}_add_properties(e,t,o,r){var n;const s=null!==(n=e.properties)&&void 0!==n?n:{};for(const[e,n]of l.entries(s))t.hasOwnProperty(e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=c(n)}_add_geometry(e,t,o){function r(e,t){return e.concat([[NaN,NaN,NaN]]).concat(t)}switch(e.type){case\"Point\":{const[r,n,s]=e.coordinates;t.x[o]=r,t.y[o]=n,t.z[o]=c(s);break}case\"LineString\":{const{coordinates:r}=e;for(let e=0;e1&&s.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\");const r=e.coordinates[0];for(let e=0;e1&&s.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),n.push(t[0]);const a=n.reduce(r);for(let e=0;ethis.get_resolution(t))}_computed_initial_resolution(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size}is_valid_tile(t,e,i){return!(!this.wrap_around&&(t<0||t>=2**i))&&!(e<0||e>=2**i)}parent_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=_.substring(0,_.length-1);return this.quadkey_to_tile_xyz(s)}get_resolution(t){return this._computed_initial_resolution()/2**t}get_resolution_by_extent(t,e,i){return[(t[2]-t[0])/i,(t[3]-t[1])/e]}get_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s);let o=0;for(const t of this._resolutions){if(r>t){if(0==o)return 0;if(o>0)return o-1}o+=1}return o-1}get_closest_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s),o=this._resolutions.reduce((function(t,e){return Math.abs(e-r)e?(u=o-s,a*=t):(u*=e,a=n-r)}const h=(u-(o-s))/2,c=(a-(n-r))/2;return[s-h,r-c,o+h,n+c]}tms_to_wmts(t,e,i){return[t,2**i-1-e,i]}wmts_to_tms(t,e,i){return[t,2**i-1-e,i]}pixels_to_meters(t,e,i){const _=this.get_resolution(i);return[t*_-this.x_origin_offset,e*_-this.y_origin_offset]}meters_to_pixels(t,e,i){const _=this.get_resolution(i);return[(t+this.x_origin_offset)/_,(e+this.y_origin_offset)/_]}pixels_to_tile(t,e){let i=Math.ceil(t/this.tile_size);i=0===i?i:i-1;return[i,Math.max(Math.ceil(e/this.tile_size)-1,0)]}pixels_to_raster(t,e,i){return[t,(this.tile_size<=l;t--)for(let i=n;i<=u;i++)this.is_valid_tile(i,t,e)&&h.push([i,t,e,this.get_tile_meter_bounds(i,t,e)]);return this.sort_tiles_from_center(h,[n,l,u,a]),h}quadkey_to_tile_xyz(t){let e=0,i=0;const _=t.length;for(let s=_;s>0;s--){const r=1<0;s--){const i=1<0;)if(s=s.substring(0,s.length-1),[t,e,i]=this.quadkey_to_tile_xyz(s),[t,e,i]=this.denormalize_xyz(t,e,i,_),this.tiles.has(this.tile_xyz_to_key(t,e,i)))return[t,e,i];return[0,0,0]}normalize_xyz(t,e,i){if(this.wrap_around){const _=2**i;return[(t%_+_)%_,e,i]}return[t,e,i]}denormalize_xyz(t,e,i,_){return[t+_*2**i,e,i]}denormalize_meters(t,e,i,_){return[t+2*_*Math.PI*6378137,e]}calculate_world_x_by_tile_xyz(t,e,i){return Math.floor(t/2**i)}}i.MercatorTileSource=l,l.__name__=\"MercatorTileSource\",l.init_MercatorTileSource()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1),n=e(81),s=e(13),l=i.__importStar(e(18));class a extends n.Model{constructor(e){super(e)}static init_TileSource(){this.define({url:[l.String,\"\"],tile_size:[l.Number,256],max_zoom:[l.Number,30],min_zoom:[l.Number,0],extra_url_vars:[l.Any,{}],attribution:[l.String,\"\"],x_origin_offset:[l.Number],y_origin_offset:[l.Number],initial_resolution:[l.Number]})}initialize(){super.initialize(),this.tiles=new Map,this._normalize_case()}connect_signals(){super.connect_signals(),this.connect(this.change,()=>this._clear_cache())}string_lookup_replace(e,t){let r=e;for(const[e,i]of s.entries(t))r=r.replace(`{${e}}`,i);return r}_normalize_case(){const e=this.url.replace(\"{x}\",\"{X}\").replace(\"{y}\",\"{Y}\").replace(\"{z}\",\"{Z}\").replace(\"{q}\",\"{Q}\").replace(\"{xmin}\",\"{XMIN}\").replace(\"{ymin}\",\"{YMIN}\").replace(\"{xmax}\",\"{XMAX}\").replace(\"{ymax}\",\"{YMAX}\");this.url=e}_clear_cache(){this.tiles=new Map}tile_xyz_to_key(e,t,r){return`${e}:${t}:${r}`}key_to_tile_xyz(e){const[t,r,i]=e.split(\":\").map(e=>parseInt(e));return[t,r,i]}sort_tiles_from_center(e,t){const[r,i,n,s]=t,l=(n-r)/2+r,a=(s-i)/2+i;e.sort((function(e,t){return Math.sqrt((l-e[0])**2+(a-e[1])**2)-Math.sqrt((l-t[0])**2+(a-t[1])**2)}))}get_image_url(e,t,r){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",t.toString()).replace(\"{Z}\",r.toString())}}r.TileSource=a,a.__name__=\"TileSource\",a.init_TileSource()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const n=e(37);function o(e,t){return n.wgs84_mercator.compute(e,t)}function c(e,t){return n.wgs84_mercator.invert(e,t)}r.geographic_to_meters=o,r.meters_to_geographic=c,r.geographic_extent_to_meters=function(e){const[t,r,n,c]=e,[_,u]=o(t,r),[i,g]=o(n,c);return[_,u,i,g]},r.meters_extent_to_geographic=function(e){const[t,r,n,o]=e,[_,u]=c(t,r),[i,g]=c(n,o);return[_,u,i,g]}},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const _=e(333);class s extends _.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const _=this.string_lookup_replace(this.url,this.extra_url_vars),[s,o,u]=this.tms_to_wmts(e,t,r),c=this.tile_xyz_to_quadkey(s,o,u);return _.replace(\"{Q}\",c)}}r.QUADKEYTileSource=s,s.__name__=\"QUADKEYTileSource\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=t(1),_=t(338),n=t(91),a=t(158),r=t(72),o=s.__importStar(t(18)),h=t(251),l=t(9),d=t(8),m=t(89),c=t(85),g=t(339),p=s.__importDefault(t(340));class u extends n.DataRendererView{initialize(){this._tiles=[],super.initialize()}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.request_render()),this.connect(this.model.tile_source.change,()=>this.request_render())}styles(){return[...super.styles(),p.default]}get_extent(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]}get map_plot(){return this.plot_model}get map_canvas(){return this.layer.ctx}get map_frame(){return this.plot_view.frame}get x_range(){return this.map_plot.x_range}get y_range(){return this.map_plot.y_range}_set_data(){this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0}_update_attribution(){null!=this.attribution_el&&r.removeElement(this.attribution_el);const{attribution:t}=this.model.tile_source;if(d.isString(t)&&t.length>0){const{layout:e,frame:i}=this.plot_view,s=e.bbox.width-i.bbox.right,_=e.bbox.height-i.bbox.bottom,n=i.bbox.width;this.attribution_el=r.div({class:g.bk_tile_attribution,style:{position:\"absolute\",right:s+\"px\",bottom:_+\"px\",\"max-width\":n-4+\"px\",padding:\"2px\",\"background-color\":\"rgba(255,255,255,0.5)\",\"font-size\":\"9px\",\"line-height\":\"1.05\",\"white-space\":\"nowrap\",overflow:\"hidden\",\"text-overflow\":\"ellipsis\"}}),this.plot_view.canvas_view.add_event(this.attribution_el),this.attribution_el.innerHTML=t,this.attribution_el.title=this.attribution_el.textContent.replace(/\\s*\\n\\s*/g,\" \")}}_map_data(){this.initial_extent=this.get_extent();const t=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width),e=this.model.tile_source.snap_to_zoom_level(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width,t);this.x_range.start=e[0],this.y_range.start=e[1],this.x_range.end=e[2],this.y_range.end=e[3],this.x_range instanceof a.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof a.Range1d&&(this.y_range.reset_start=e[1],this.y_range.reset_end=e[3]),this._update_attribution()}_create_tile(t,e,i,s,_=!1){const[n,a,r]=this.model.tile_source.normalize_xyz(t,e,i),o={img:void 0,tile_coords:[t,e,i],normalized_coords:[n,a,r],quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,i),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,i),bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]},l=this.model.tile_source.get_image_url(n,a,r);new h.ImageLoader(l,{loaded:t=>{Object.assign(o,{img:t,loaded:!0}),_?(o.finished=!0,this.notify_finished()):this.request_render()},failed(){o.finished=!0}}),this.model.tile_source.tiles.set(o.cache_key,o),this._tiles.push(o)}_enforce_aspect_ratio(){if(this._last_height!==this.map_frame.bbox.height||this._last_width!==this.map_frame.bbox.width){const t=this.get_extent(),e=this.model.tile_source.get_level_by_extent(t,this.map_frame.bbox.height,this.map_frame.bbox.width),i=this.model.tile_source.snap_to_zoom_level(t,this.map_frame.bbox.height,this.map_frame.bbox.width,e);this.x_range.setv({start:i[0],end:i[2]}),this.y_range.setv({start:i[1],end:i[3]}),this.extent=i,this._last_height=this.map_frame.bbox.height,this._last_width=this.map_frame.bbox.width}}has_finished(){if(!super.has_finished())return!1;if(0===this._tiles.length)return!1;for(const t of this._tiles)if(!t.finished)return!1;return!0}_render(){null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),this._enforce_aspect_ratio(),this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles.bind(this),500),this.has_finished()&&this.notify_finished()}_draw_tile(t){const e=this.model.tile_source.tiles.get(t);if(null!=e&&e.loaded){const[[t],[i]]=this.coordinates.map_to_screen([e.bounds[0]],[e.bounds[3]]),[[s],[_]]=this.coordinates.map_to_screen([e.bounds[2]],[e.bounds[1]]),n=s-t,a=_-i,r=t,o=i,h=this.map_canvas.getImageSmoothingEnabled();this.map_canvas.setImageSmoothingEnabled(this.model.smoothing),this.map_canvas.drawImage(e.img,r,o,n,a),this.map_canvas.setImageSmoothingEnabled(h),e.finished=!0}}_set_rect(){const t=this.plot_model.properties.outline_line_width.value(),e=this.map_frame.bbox.left+t/2,i=this.map_frame.bbox.top+t/2,s=this.map_frame.bbox.width-t,_=this.map_frame.bbox.height-t;this.map_canvas.rect(e,i,s,_),this.map_canvas.clip()}_render_tiles(t){this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha;for(const e of t)this._draw_tile(e);this.map_canvas.restore()}_prefetch_tiles(){const{tile_source:t}=this.model,e=this.get_extent(),i=this.map_frame.bbox.height,s=this.map_frame.bbox.width,_=this.model.tile_source.get_level_by_extent(e,i,s),n=this.model.tile_source.get_tiles_by_extent(e,_);for(let e=0,i=Math.min(10,n.length);ei&&(s=this.extent,r=i,o=!0),o&&(this.x_range.setv({x_range:{start:s[0],end:s[2]}}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const h=t.get_tiles_by_extent(s,r),d=[],m=[],c=[],g=[];for(const e of h){const[i,s,n]=e,a=t.tile_xyz_to_key(i,s,n),r=t.tiles.get(a);if(null!=r&&r.loaded)m.push(a);else if(this.model.render_parents){const[e,a,r]=t.get_closest_parent_by_tile_xyz(i,s,n),o=t.tile_xyz_to_key(e,a,r),h=t.tiles.get(o);if(null!=h&&h.loaded&&!l.includes(c,o)&&c.push(o),_){const e=t.children_by_tile_xyz(i,s,n);for(const[i,s,_]of e){const e=t.tile_xyz_to_key(i,s,_);t.tiles.has(e)&&g.push(e)}}}null==r&&d.push(e)}this._render_tiles(c),this._render_tiles(g),this._render_tiles(m),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout(()=>this._fetch_tiles(d),65)}}i.TileRendererView=u,u.__name__=\"TileRendererView\";class b extends n.DataRenderer{constructor(t){super(t),this._selection_manager=new m.SelectionManager({source:new c.ColumnDataSource})}static init_TileRenderer(){this.prototype.default_view=u,this.define({alpha:[o.Number,1],smoothing:[o.Boolean,!0],tile_source:[o.Instance,()=>new _.WMTSTileSource],render_parents:[o.Boolean,!0]})}get_selection_manager(){return this._selection_manager}}i.TileRenderer=b,b.__name__=\"TileRenderer\",b.init_TileRenderer()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const o=e(333);class s extends o.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars),[s,c,_]=this.tms_to_wmts(e,t,r);return o.replace(\"{X}\",s.toString()).replace(\"{Y}\",c.toString()).replace(\"{Z}\",_.toString())}}r.WMTSTileSource=s,s.__name__=\"WMTSTileSource\"},\n", + " function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.bk_tile_attribution=\"bk-tile-attribution\"},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});n.default=\"\\n.bk-root .bk-tile-attribution a {\\n color: black;\\n}\\n\"},\n", + " function _(e,r,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(333);class c extends o.MercatorTileSource{constructor(e){super(e)}get_image_url(e,r,t){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",r.toString()).replace(\"{Z}\",t.toString())}}t.TMSTileSource=c,c.__name__=\"TMSTileSource\"},\n", + " function _(e,r,a){Object.defineProperty(a,\"__esModule\",{value:!0});var t=e(343);a.CanvasTexture=t.CanvasTexture;var u=e(345);a.ImageURLTexture=u.ImageURLTexture;var v=e(344);a.Texture=v.Texture},\n", + " function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const r=t(1),c=t(344),s=r.__importStar(t(18)),i=t(29);class a extends c.Texture{constructor(t){super(t)}static init_CanvasTexture(){this.define({code:[s.String]})}get func(){const t=i.use_strict(this.code);return new Function(\"ctx\",\"color\",\"scale\",\"weight\",t)}get_pattern(t,e,n){return r=>{const c=document.createElement(\"canvas\");c.width=e,c.height=e;const s=c.getContext(\"2d\");return this.func.call(this,s,t,e,n),r.createPattern(c,this.repetition)}}}n.CanvasTexture=a,a.__name__=\"CanvasTexture\",a.init_CanvasTexture()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1),n=e(81),o=r.__importStar(e(18));class _ extends n.Model{constructor(e){super(e)}static init_Texture(){this.define({repetition:[o.TextureRepetition,\"repeat\"]})}onload(e){e()}}i.Texture=_,_.__name__=\"Texture\",_.init_Texture()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1),a=e(344),n=r.__importStar(e(18)),s=e(251);class o extends a.Texture{constructor(e){super(e)}static init_ImageURLTexture(){this.define({url:[n.String]})}initialize(){super.initialize(),this._loader=new s.ImageLoader(this.url)}get_pattern(e,t,i){return e=>this._loader.finished?e.createPattern(this._loader.image,this.repetition):null}onload(e){this._loader.promise.then(()=>e())}}i.ImageURLTexture=o,o.__name__=\"ImageURLTexture\",o.init_ImageURLTexture()},\n", + " function _(o,l,T){Object.defineProperty(T,\"__esModule\",{value:!0});var a=o(307);T.ActionTool=a.ActionTool;var r=o(347);T.CustomAction=r.CustomAction;var e=o(308);T.HelpTool=e.HelpTool;var v=o(348);T.RedoTool=v.RedoTool;var t=o(349);T.ResetTool=t.ResetTool;var n=o(350);T.SaveTool=n.SaveTool;var s=o(351);T.UndoTool=s.UndoTool;var i=o(352);T.ZoomInTool=i.ZoomInTool;var P=o(355);T.ZoomOutTool=P.ZoomOutTool;var c=o(296);T.ButtonTool=c.ButtonTool;var d=o(356);T.EditTool=d.EditTool;var u=o(357);T.BoxEditTool=u.BoxEditTool;var y=o(358);T.FreehandDrawTool=y.FreehandDrawTool;var m=o(359);T.PointDrawTool=m.PointDrawTool;var x=o(360);T.PolyDrawTool=x.PolyDrawTool;var B=o(361);T.PolyTool=B.PolyTool;var S=o(362);T.PolyEditTool=S.PolyEditTool;var b=o(363);T.BoxSelectTool=b.BoxSelectTool;var h=o(366);T.BoxZoomTool=h.BoxZoomTool;var E=o(306);T.GestureTool=E.GestureTool;var Z=o(367);T.LassoSelectTool=Z.LassoSelectTool;var p=o(369);T.LineEditTool=p.LineEditTool;var w=o(371);T.PanTool=w.PanTool;var C=o(368);T.PolySelectTool=C.PolySelectTool;var D=o(372);T.RangeTool=D.RangeTool;var H=o(364);T.SelectTool=H.SelectTool;var R=o(373);T.TapTool=R.TapTool;var A=o(374);T.WheelPanTool=A.WheelPanTool;var I=o(375);T.WheelZoomTool=I.WheelZoomTool;var L=o(376);T.CrosshairTool=L.CrosshairTool;var W=o(377);T.CustomJSHover=W.CustomJSHover;var O=o(378);T.HoverTool=O.HoverTool;var _=o(295);T.InspectTool=_.InspectTool;var f=o(298);T.Tool=f.Tool;var g=o(379);T.ToolProxy=g.ToolProxy;var F=o(294);T.Toolbar=F.Toolbar;var G=o(305);T.ToolbarBase=G.ToolbarBase;var J=o(380);T.ProxyToolbar=J.ProxyToolbar;var U=o(380);T.ToolbarBox=U.ToolbarBox},\n", + " function _(t,o,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),s=t(307),e=n.__importStar(t(18)),c=t(299);class _ extends s.ActionToolButtonView{css_classes(){return super.css_classes().concat(c.bk_toolbar_button_custom_action)}}i.CustomActionButtonView=_,_.__name__=\"CustomActionButtonView\";class l extends s.ActionToolView{doit(){null!=this.model.callback&&this.model.callback.execute(this.model)}}i.CustomActionView=l,l.__name__=\"CustomActionView\";class u extends s.ActionTool{constructor(t){super(t),this.tool_name=\"Custom Action\",this.button_view=_}static init_CustomAction(){this.prototype.default_view=l,this.define({action_tooltip:[e.String,\"Perform a Custom Action\"],callback:[e.Any],icon:[e.String]})}get tooltip(){return this.action_tooltip}}i.CustomAction=u,u.__name__=\"CustomAction\",u.init_CustomAction()},\n", + " function _(o,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const i=o(307),s=o(309);class n extends i.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state_changed,()=>this.model.disabled=!this.plot_view.can_redo())}doit(){this.plot_view.redo()}}t.RedoToolView=n,n.__name__=\"RedoToolView\";class _ extends i.ActionTool{constructor(o){super(o),this.tool_name=\"Redo\",this.icon=s.bk_tool_icon_redo}static init_RedoTool(){this.prototype.default_view=n,this.override({disabled:!0}),this.register_alias(\"redo\",()=>new _)}}t.RedoTool=_,_.__name__=\"RedoTool\",_.init_RedoTool()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(307),i=e(309);class _ extends s.ActionToolView{doit(){this.plot_view.reset()}}o.ResetToolView=_,_.__name__=\"ResetToolView\";class l extends s.ActionTool{constructor(e){super(e),this.tool_name=\"Reset\",this.icon=i.bk_tool_icon_reset}static init_ResetTool(){this.prototype.default_view=_,this.register_alias(\"reset\",()=>new l)}}o.ResetTool=l,l.__name__=\"ResetTool\",l.init_ResetTool()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const a=e(307),i=e(309);class n extends a.ActionToolView{async copy(){const e=await this.plot_view.to_blob(),o=new ClipboardItem({[e.type]:e});await navigator.clipboard.write([o])}async save(e){const o=await this.plot_view.to_blob(),t=document.createElement(\"a\");t.href=URL.createObjectURL(o),t.download=e,t.target=\"_blank\",t.dispatchEvent(new MouseEvent(\"click\"))}doit(e=\"save\"){switch(e){case\"save\":this.save(\"bokeh_plot\");break;case\"copy\":this.copy()}}}t.SaveToolView=n,n.__name__=\"SaveToolView\";class s extends a.ActionTool{constructor(e){super(e),this.tool_name=\"Save\",this.icon=i.bk_tool_icon_save}static init_SaveTool(){this.prototype.default_view=n,this.register_alias(\"save\",()=>new s)}get menu(){return[{icon:\"bk-tool-icon-copy-to-clipboard\",tooltip:\"Copy image to clipboard\",if:()=>\"undefined\"!=typeof ClipboardItem,handler:()=>{this.do.emit(\"copy\")}}]}}t.SaveTool=s,s.__name__=\"SaveTool\",s.init_SaveTool()},\n", + " function _(o,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=o(307),i=o(309);class s extends n.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state_changed,()=>this.model.disabled=!this.plot_view.can_undo())}doit(){this.plot_view.undo()}}e.UndoToolView=s,s.__name__=\"UndoToolView\";class _ extends n.ActionTool{constructor(o){super(o),this.tool_name=\"Undo\",this.icon=i.bk_tool_icon_undo}static init_UndoTool(){this.prototype.default_view=s,this.override({disabled:!0}),this.register_alias(\"undo\",()=>new _)}}e.UndoTool=_,_.__name__=\"UndoTool\",_.init_UndoTool()},\n", + " function _(o,i,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=o(353),s=o(309);class t extends n.ZoomBaseTool{constructor(o){super(o),this.sign=1,this.tool_name=\"Zoom In\",this.icon=s.bk_tool_icon_zoom_in}static init_ZoomInTool(){this.prototype.default_view=n.ZoomBaseToolView,this.register_alias(\"zoom_in\",()=>new t({dimensions:\"both\"})),this.register_alias(\"xzoom_in\",()=>new t({dimensions:\"width\"})),this.register_alias(\"yzoom_in\",()=>new t({dimensions:\"height\"}))}}e.ZoomInTool=t,t.__name__=\"ZoomInTool\",t.init_ZoomInTool()},\n", + " function _(o,t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=o(1),s=o(307),n=o(354),_=i.__importStar(o(18));class l extends s.ActionToolView{doit(){const o=this.plot_view.frame,t=this.model.dimensions,e=\"width\"==t||\"both\"==t,i=\"height\"==t||\"both\"==t,s=n.scale_range(o,this.model.sign*this.model.factor,e,i);this.plot_view.push_state(\"zoom_out\",{range:s}),this.plot_view.update_range(s,!1,!0),this.model.document&&this.model.document.interactive_start(this.plot_model)}}e.ZoomBaseToolView=l,l.__name__=\"ZoomBaseToolView\";class a extends s.ActionTool{constructor(o){super(o)}static init_ZoomBaseTool(){this.prototype.default_view=l,this.define({factor:[_.Percent,.1],dimensions:[_.Dimensions,\"both\"]})}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}e.ZoomBaseTool=a,a.__name__=\"ZoomBaseTool\",a.init_ZoomBaseTool()},\n", + " function _(n,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=n(10);function r(n,e,t){const[o,r]=[n.start,n.end],s=null!=t?t:(r+o)/2;return[o-(o-s)*e,r-(r-s)*e]}function s(n,[e,t]){const o=new Map;for(const[r,s]of n){const[n,c]=s.r_invert(e,t);o.set(r,{start:n,end:c})}return o}t.scale_highlow=r,t.get_info=s,t.scale_range=function(n,e,t=!0,c=!0,l){e=o.clamp(e,-.9,.9);const a=t?e:0,[u,_]=r(n.bbox.h_range,a,null!=l?l.x:void 0),i=s(n.x_scales,[u,_]),f=c?e:0,[d,b]=r(n.bbox.v_range,f,null!=l?l.y:void 0);return{xrs:i,yrs:s(n.y_scales,[d,b]),factor:e}}},\n", + " function _(o,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const e=o(353),s=o(309);class n extends e.ZoomBaseTool{constructor(o){super(o),this.sign=-1,this.tool_name=\"Zoom Out\",this.icon=s.bk_tool_icon_zoom_out}static init_ZoomOutTool(){this.prototype.default_view=e.ZoomBaseToolView,this.register_alias(\"zoom_out\",()=>new n({dimensions:\"both\"})),this.register_alias(\"xzoom_out\",()=>new n({dimensions:\"width\"})),this.register_alias(\"yzoom_out\",()=>new n({dimensions:\"height\"}))}}i.ZoomOutTool=n,n.__name__=\"ZoomOutTool\",n.init_ZoomOutTool()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(1).__importStar(e(18)),i=e(9),n=e(8),r=e(11),_=e(306);class c extends _.GestureToolView{constructor(){super(...arguments),this._mouse_in_frame=!0}_select_mode(e){const{shiftKey:t,ctrlKey:o}=e;return t||o?t&&!o?\"append\":!t&&o?\"intersect\":t&&o?\"subtract\":void r.unreachable():\"replace\"}_move_enter(e){this._mouse_in_frame=!0}_move_exit(e){this._mouse_in_frame=!1}_map_drag(e,t,o){if(!this.plot_view.frame.bbox.contains(e,t))return null;const s=this.plot_view.renderer_views.get(o);return[s.coordinates.x_scale.invert(e),s.coordinates.y_scale.invert(t)]}_delete_selected(e){const t=e.data_source,o=t.selected.indices;o.sort();for(const e of t.columns()){const s=t.get_array(e);for(let e=0;ethis._show_vertices())}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),this.model.vertex_renderer&&this._hide_vertices()}}s.PolyDrawToolView=d,d.__name__=\"PolyDrawToolView\";class l extends n.PolyTool{constructor(e){super(e),this.tool_name=\"Polygon Draw Tool\",this.icon=_.bk_tool_icon_poly_draw,this.event_type=[\"pan\",\"tap\",\"move\"],this.default_order=3}static init_PolyDrawTool(){this.prototype.default_view=d,this.define({drag:[a.Boolean,!0],num_objects:[a.Int,0]})}}s.PolyDrawTool=l,l.__name__=\"PolyDrawTool\",l.init_PolyDrawTool()},\n", + " function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const o=e(1).__importStar(e(18)),i=e(8),s=e(356);class _ extends s.EditToolView{_set_vertices(e,t){const r=this.model.vertex_renderer.glyph,o=this.model.vertex_renderer.data_source,[s,_]=[r.x.field,r.y.field];s&&(i.isArray(e)?o.data[s]=e:r.x={value:e}),_&&(i.isArray(t)?o.data[_]=t:r.y={value:t}),this._emit_cds_changes(o,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,t,r){if(this.model.vertex_renderer){const o=this._select_event(e,\"replace\",[this.model.vertex_renderer]),i=this.model.vertex_renderer.data_source,s=this.model.vertex_renderer.glyph,[_,l]=[s.x.field,s.y.field];if(o.length){const e=i.selected.indices[0];_&&(t=i.data[_][e]),l&&(r=i.data[l][e]),i.selection_manager.clear()}}return[t,r]}}r.PolyToolView=_,_.__name__=\"PolyToolView\";class l extends s.EditTool{constructor(e){super(e)}static init_PolyTool(){this.prototype.default_view=_,this.define({vertex_renderer:[o.Instance]})}}r.PolyTool=l,l.__name__=\"PolyTool\",l.init_PolyTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const r=e(72),i=e(8),_=e(361),d=e(309);class n extends _.PolyToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this._map_drag(e.sx,e.sy,this.model.vertex_renderer);if(null==t)return;const[s,r]=t,i=this._select_event(e,\"replace\",[this.model.vertex_renderer]),_=this.model.vertex_renderer.data_source,d=this.model.vertex_renderer.glyph,[n,l]=[d.x.field,d.y.field];if(i.length&&null!=this._selected_renderer){const e=_.selected.indices[0];this._drawing?(this._drawing=!1,_.selection_manager.clear()):(_.selected.indices=[e+1],n&&_.get_array(n).splice(e+1,0,s),l&&_.get_array(l).splice(e+1,0,r),this._drawing=!0),_.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}else this._show_vertices(e)}_show_vertices(e){if(!this.model.active)return;const t=this._select_event(e,\"replace\",this.model.renderers);if(!t.length)return this._set_vertices([],[]),this._selected_renderer=null,void(this._drawing=!1);const s=t[0],r=s.glyph,_=s.data_source,d=_.selected.indices[0],[n,l]=[r.xs.field,r.ys.field];let a,c;n?(a=_.data[n][d],i.isArray(a)||(_.data[n][d]=a=Array.from(a))):a=r.xs.value,l?(c=_.data[l][d],i.isArray(c)||(_.data[l][d]=c=Array.from(c))):c=r.ys.value,this._selected_renderer=s,this._set_vertices(a,c)}_move(e){if(this._drawing&&null!=this._selected_renderer){const t=this.model.vertex_renderer,s=t.data_source,r=t.glyph,i=this._map_drag(e.sx,e.sy,t);if(null==i)return;let[_,d]=i;const n=s.selected.indices;[_,d]=this._snap_to_vertex(e,_,d),s.selected.indices=n;const[l,a]=[r.x.field,r.y.field],c=n[0];l&&(s.data[l][c]=_),a&&(s.data[a][c]=d),s.change.emit(),this._selected_renderer.data_source.change.emit()}}_tap(e){const t=this.model.vertex_renderer,s=this._map_drag(e.sx,e.sy,t);if(null==s)return;if(this._drawing&&this._selected_renderer){let[r,i]=s;const _=t.data_source,d=t.glyph,[n,l]=[d.x.field,d.y.field],a=_.selected.indices;[r,i]=this._snap_to_vertex(e,r,i);const c=a[0];if(_.selected.indices=[c+1],n){const e=_.get_array(n),t=e[c];e[c]=r,e.splice(c+1,0,t)}if(l){const e=_.get_array(l),t=e[c];e[c]=i,e.splice(c+1,0,t)}return _.change.emit(),void this._emit_cds_changes(this._selected_renderer.data_source,!0,!1,!0)}const r=this._select_mode(e);this._select_event(e,r,[t]),this._select_event(e,r,this.model.renderers)}_remove_vertex(){if(!this._drawing||!this._selected_renderer)return;const e=this.model.vertex_renderer,t=e.data_source,s=e.glyph,r=t.selected.indices[0],[i,_]=[s.x.field,s.y.field];i&&t.get_array(i).splice(r,1),_&&t.get_array(_).splice(r,1),t.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}_pan_start(e){this._select_event(e,\"append\",[this.model.vertex_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._emit_cds_changes(this.model.vertex_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}_keyup(e){if(!this.model.active||!this._mouse_in_frame)return;let t;t=this._selected_renderer?[this.model.vertex_renderer]:this.model.renderers;for(const s of t)e.keyCode===r.Keys.Backspace?(this._delete_selected(s),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):e.keyCode==r.Keys.Esc&&(this._drawing?(this._remove_vertex(),this._drawing=!1):this._selected_renderer&&this._hide_vertices(),s.data_source.selection_manager.clear())}deactivate(){this._selected_renderer&&(this._drawing&&(this._remove_vertex(),this._drawing=!1),this._hide_vertices())}}s.PolyEditToolView=n,n.__name__=\"PolyEditToolView\";class l extends _.PolyTool{constructor(e){super(e),this.tool_name=\"Poly Edit Tool\",this.icon=d.bk_tool_icon_poly_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}static init_PolyEditTool(){this.prototype.default_view=n}}s.PolyEditTool=l,l.__name__=\"PolyEditTool\",l.init_PolyEditTool()},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(1),i=e(364),l=e(124),_=s.__importStar(e(18)),n=e(309);class c extends i.SelectToolView{_compute_limits(e){const t=this.plot_view.frame,o=this.model.dimensions;let s=this._base_point;if(\"center\"==this.model.origin){const[t,o]=s,[i,l]=e;s=[t-(i-t),o-(l-o)]}return this.model._get_dim_limits(s,e,t,o)}_pan_start(e){const{sx:t,sy:o}=e;this._base_point=[t,o]}_pan(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this.model.overlay.update({left:i[0],right:i[1],top:l[0],bottom:l[1]}),this.model.select_every_mousemove&&this._do_select(i,l,!1,this._select_mode(e))}_pan_end(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this._do_select(i,l,!0,this._select_mode(e)),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,this.plot_view.push_state(\"box_select\",{selection:this.plot_view.get_selection()})}_do_select([e,t],[o,s],i,l=\"replace\"){const _={type:\"rect\",sx0:e,sx1:t,sy0:o,sy1:s};this._select(_,i,l)}}o.BoxSelectToolView=c,c.__name__=\"BoxSelectToolView\";const r=()=>new l.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class h extends i.SelectTool{constructor(e){super(e),this.tool_name=\"Box Select\",this.icon=n.bk_tool_icon_box_select,this.event_type=\"pan\",this.default_order=30}static init_BoxSelectTool(){this.prototype.default_view=c,this.define({dimensions:[_.Dimensions,\"both\"],select_every_mousemove:[_.Boolean,!1],overlay:[_.Instance,r],origin:[_.BoxOrigin,\"corner\"]}),this.register_alias(\"box_select\",()=>new h),this.register_alias(\"xbox_select\",()=>new h({dimensions:\"width\"})),this.register_alias(\"ybox_select\",()=>new h({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}o.BoxSelectTool=h,h.__name__=\"BoxSelectTool\",h.init_BoxSelectTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(1),o=e(306),r=e(90),c=e(116),i=e(365),l=n.__importStar(e(18)),a=e(72),_=e(313),d=e(15),h=e(11);class p extends o.GestureToolView{connect_signals(){super.connect_signals(),this.model.clear.connect(()=>this._clear())}get computed_renderers(){const e=this.model.renderers,t=this.plot_model.renderers,s=this.model.names;return i.compute_renderers(e,t,s)}_computed_renderers_by_data_source(){var e;const t=new Map;for(const s of this.computed_renderers){let n;if(s instanceof r.GlyphRenderer)n=s.data_source;else{if(!(s instanceof c.GraphRenderer))continue;n=s.node_renderer.data_source}const o=null!==(e=t.get(n))&&void 0!==e?e:[];t.set(n,[...o,s])}return t}_select_mode(e){const{shiftKey:t,ctrlKey:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void h.unreachable():this.model.mode}_keyup(e){e.keyCode==a.Keys.Esc&&this._clear()}_clear(){for(const e of this.computed_renderers)e.get_selection_manager().clear();this.plot_view.request_render()}_select(e,t,s){const n=this._computed_renderers_by_data_source();for(const[,o]of n){const n=o[0].get_selection_manager(),r=[];for(const e of o){const t=this.plot_view.renderer_views.get(e);null!=t&&r.push(t)}n.select(r,e,t,s)}null!=this.model.callback&&this._emit_callback(e),this._emit_selection_event(e,t)}_emit_selection_event(e,t=!0){const{x_scale:s,y_scale:n}=this.plot_view.frame;let o;switch(e.type){case\"point\":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"span\":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"rect\":{const{sx0:t,sx1:r,sy0:c,sy1:i}=e,[l,a]=s.r_invert(t,r),[_,d]=n.r_invert(c,i);o=Object.assign(Object.assign({},e),{x0:l,y0:_,x1:a,y1:d});break}case\"poly\":{const{sx:t,sy:r}=e,c=s.v_invert(t),i=n.v_invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}}this.plot_model.trigger_event(new _.SelectionGeometry(o,t))}}s.SelectToolView=p,p.__name__=\"SelectToolView\";class u extends o.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new d.Signal0(this,\"clear\")}static init_SelectTool(){this.define({renderers:[l.Any,\"auto\"],names:[l.Array,[]],mode:[l.Any,\"replace\"]})}get menu(){return[{icon:\"bk-tool-icon-replace-mode\",tooltip:\"Replace the current selection\",active:()=>\"replace\"==this.mode,handler:()=>{this.mode=\"replace\",this.active=!0}},{icon:\"bk-tool-icon-append-mode\",tooltip:\"Append to the current selection (Shift)\",active:()=>\"append\"==this.mode,handler:()=>{this.mode=\"append\",this.active=!0}},{icon:\"bk-tool-icon-intersect-mode\",tooltip:\"Intersect with the current selection (Ctrl)\",active:()=>\"intersect\"==this.mode,handler:()=>{this.mode=\"intersect\",this.active=!0}},{icon:\"bk-tool-icon-subtract-mode\",tooltip:\"Subtract from the current selection (Shift+Ctrl)\",active:()=>\"subtract\"==this.mode,handler:()=>{this.mode=\"subtract\",this.active=!0}},null,{icon:\"bk-tool-icon-clear-selection\",tooltip:\"Clear the current selection (Esc)\",handler:()=>{this.clear.emit()}}]}}s.SelectTool=u,u.__name__=\"SelectTool\",u.init_SelectTool()},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const r=e(9);t.compute_renderers=function(e,n,t){if(null==e)return[];let u=\"auto\"==e?n:e;return t.length>0&&(u=u.filter(e=>r.includes(t,e.name))),u}},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=t(1),i=t(306),n=t(124),_=s.__importStar(t(18)),a=t(309);class l extends i.GestureToolView{_match_aspect(t,o,e){const s=e.bbox.aspect,i=e.bbox.h_range.end,n=e.bbox.h_range.start,_=e.bbox.v_range.end,a=e.bbox.v_range.start;let l=Math.abs(t[0]-o[0]),r=Math.abs(t[1]-o[1]);const h=0==r?0:l/r,[c]=h>=s?[1,h/s]:[s/h,1];let m,p,d,b;return t[0]<=o[0]?(m=t[0],p=t[0]+l*c,p>i&&(p=i)):(p=t[0],m=t[0]-l*c,m_&&(d=_)):(d=t[1],b=t[1]-l/s,bnew n.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class h extends i.GestureTool{constructor(t){super(t),this.tool_name=\"Box Zoom\",this.icon=a.bk_tool_icon_box_zoom,this.event_type=\"pan\",this.default_order=20}static init_BoxZoomTool(){this.prototype.default_view=l,this.define({dimensions:[_.Dimensions,\"both\"],overlay:[_.Instance,r],match_aspect:[_.Boolean,!1],origin:[_.BoxOrigin,\"corner\"]}),this.register_alias(\"box_zoom\",()=>new h({dimensions:\"both\"})),this.register_alias(\"xbox_zoom\",()=>new h({dimensions:\"width\"})),this.register_alias(\"ybox_zoom\",()=>new h({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}e.BoxZoomTool=h,h.__name__=\"BoxZoomTool\",h.init_BoxZoomTool()},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(1),a=e(364),i=e(368),l=e(72),_=o.__importStar(e(18)),c=e(309);class n extends a.SelectToolView{initialize(){super.initialize(),this.data=null}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,()=>this._active_change())}_active_change(){this.model.active||this._clear_overlay()}_keyup(e){e.keyCode==l.Keys.Enter&&this._clear_overlay()}_pan_start(e){const{sx:s,sy:t}=e;this.data={sx:[s],sy:[t]}}_pan(e){const{sx:s,sy:t}=e,[o,a]=this.plot_view.frame.bbox.clip(s,t);this.data.sx.push(o),this.data.sy.push(a);this.model.overlay.update({xs:this.data.sx,ys:this.data.sy}),this.model.select_every_mousemove&&this._do_select(this.data.sx,this.data.sy,!1,this._select_mode(e))}_pan_end(e){this._clear_overlay(),this._do_select(this.data.sx,this.data.sy,!0,this._select_mode(e)),this.plot_view.push_state(\"lasso_select\",{selection:this.plot_view.get_selection()})}_clear_overlay(){this.model.overlay.update({xs:[],ys:[]})}_do_select(e,s,t,o){const a={type:\"poly\",sx:e,sy:s};this._select(a,t,o)}}t.LassoSelectToolView=n,n.__name__=\"LassoSelectToolView\";class h extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Lasso Select\",this.icon=c.bk_tool_icon_lasso_select,this.event_type=\"pan\",this.default_order=12}static init_LassoSelectTool(){this.prototype.default_view=n,this.define({select_every_mousemove:[_.Boolean,!0],overlay:[_.Instance,i.DEFAULT_POLY_OVERLAY]}),this.register_alias(\"lasso_select\",()=>new h)}}t.LassoSelectTool=h,h.__name__=\"LassoSelectTool\",h.init_LassoSelectTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const l=e(1),i=e(364),o=e(166),a=e(72),_=l.__importStar(e(18)),c=e(9),n=e(309);class h extends i.SelectToolView{initialize(){super.initialize(),this.data={sx:[],sy:[]}}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,()=>this._active_change())}_active_change(){this.model.active||this._clear_data()}_keyup(e){e.keyCode==a.Keys.Enter&&this._clear_data()}_doubletap(e){this._do_select(this.data.sx,this.data.sy,!0,this._select_mode(e)),this.plot_view.push_state(\"poly_select\",{selection:this.plot_view.get_selection()}),this._clear_data()}_clear_data(){this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})}_tap(e){const{sx:t,sy:s}=e;this.plot_view.frame.bbox.contains(t,s)&&(this.data.sx.push(t),this.data.sy.push(s),this.model.overlay.update({xs:c.copy(this.data.sx),ys:c.copy(this.data.sy)}))}_do_select(e,t,s,l){const i={type:\"poly\",sx:e,sy:t};this._select(i,s,l)}}s.PolySelectToolView=h,h.__name__=\"PolySelectToolView\",s.DEFAULT_POLY_OVERLAY=()=>new o.PolyAnnotation({level:\"overlay\",xs_units:\"screen\",ys_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class y extends i.SelectTool{constructor(e){super(e),this.tool_name=\"Poly Select\",this.icon=n.bk_tool_icon_polygon_select,this.event_type=\"tap\",this.default_order=11}static init_PolySelectTool(){this.prototype.default_view=h,this.define({overlay:[_.Instance,s.DEFAULT_POLY_OVERLAY]}),this.register_alias(\"poly_select\",()=>new y)}}s.PolySelectTool=y,y.__name__=\"PolySelectTool\",y.init_PolySelectTool()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(370),r=s.__importStar(e(18)),_=e(309);class d extends n.LineToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const i of t){1==this._select_event(e,\"replace\",[i]).length&&(this._selected_renderer=i)}this._show_intersections(),this._update_line_cds()}_show_intersections(){if(!this.model.active)return;if(null==this._selected_renderer)return;if(!this.model.renderers.length)return this._set_intersection([],[]),this._selected_renderer=null,void(this._drawing=!1);const e=this._selected_renderer.data_source,t=this._selected_renderer.glyph,[i,s]=[t.x.field,t.y.field],n=e.get_array(i),r=e.get_array(s);this._set_intersection(n,r)}_tap(e){const t=this.model.intersection_renderer;if(null==this._map_drag(e.sx,e.sy,t))return;if(this._drawing&&this._selected_renderer){const i=this._select_mode(e);if(0==this._select_event(e,i,[t]).length)return}const i=this._select_mode(e);this._select_event(e,i,[t]),this._select_event(e,i,this.model.renderers)}_update_line_cds(){if(null==this._selected_renderer)return;const e=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[i,s]=[e.x.field,e.y.field];if(i&&s){const e=t.data[i],n=t.data[s];this._selected_renderer.data_source.data[i]=e,this._selected_renderer.data_source.data[s]=n}this._emit_cds_changes(this._selected_renderer.data_source,!0,!0,!1)}_pan_start(e){this._select_event(e,\"append\",[this.model.intersection_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer],this.model.dimensions),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer]),this._emit_cds_changes(this.model.intersection_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}activate(){this._drawing=!0}deactivate(){this._selected_renderer&&(this._drawing&&(this._drawing=!1),this._hide_intersections())}}i.LineEditToolView=d,d.__name__=\"LineEditToolView\";class o extends n.LineTool{constructor(e){super(e),this.tool_name=\"Line Edit Tool\",this.icon=_.bk_tool_icon_line_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}static init_LineEditTool(){this.prototype.default_view=d,this.define({dimensions:[r.Dimensions,\"both\"]})}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}i.LineEditTool=o,o.__name__=\"LineEditTool\",o.init_LineEditTool()},\n", + " function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1).__importStar(e(18)),o=e(8),s=e(356);class _ extends s.EditToolView{_set_intersection(e,i){const t=this.model.intersection_renderer.glyph,n=this.model.intersection_renderer.data_source,[s,_]=[t.x.field,t.y.field];s&&(o.isArray(e)?n.data[s]=e:t.x={value:e}),_&&(o.isArray(i)?n.data[_]=i:t.y={value:i}),this._emit_cds_changes(n,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}t.LineToolView=_,_.__name__=\"LineToolView\";class r extends s.EditTool{constructor(e){super(e)}static init_LineTool(){this.prototype.default_view=_,this.define({intersection_renderer:[n.Instance]})}}t.LineTool=r,r.__name__=\"LineTool\",r.init_LineTool()},\n", + " function _(t,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const n=t(1),i=t(306),o=n.__importStar(t(18)),a=t(309);function _(t,s,e){const n=new Map;for(const[i,o]of t){const[t,a]=o.r_invert(s,e);n.set(i,{start:t,end:a})}return n}e.update_ranges=_;class h extends i.GestureToolView{_pan_start(t){this.last_dx=0,this.last_dy=0;const{sx:s,sy:e}=t,n=this.plot_view.frame.bbox;if(!n.contains(s,e)){const t=n.h_range,i=n.v_range;(st.end)&&(this.v_axis_only=!0),(ei.end)&&(this.h_axis_only=!0)}null!=this.model.document&&this.model.document.interactive_start(this.plot_model)}_pan(t){this._update(t.deltaX,t.deltaY),null!=this.model.document&&this.model.document.interactive_start(this.plot_model)}_pan_end(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.push_state(\"pan\",{range:this.pan_info})}_update(t,s){const e=this.plot_view.frame,n=t-this.last_dx,i=s-this.last_dy,o=e.bbox.h_range,a=o.start-n,h=o.end-n,l=e.bbox.v_range,r=l.start-i,d=l.end-i,p=this.model.dimensions;let c,u,m,x,y,g;\"width\"!=p&&\"both\"!=p||this.v_axis_only?(c=o.start,u=o.end,m=0):(c=a,u=h,m=-n),\"height\"!=p&&\"both\"!=p||this.h_axis_only?(x=l.start,y=l.end,g=0):(x=r,y=d,g=-i),this.last_dx=t,this.last_dy=s;const{x_scales:w,y_scales:b}=e,f=_(w,c,u),v=_(b,x,y);this.pan_info={xrs:f,yrs:v,sdx:m,sdy:g},this.plot_view.update_range(this.pan_info,!0)}}e.PanToolView=h,h.__name__=\"PanToolView\";class l extends i.GestureTool{constructor(t){super(t),this.tool_name=\"Pan\",this.event_type=\"pan\",this.default_order=10}static init_PanTool(){this.prototype.default_view=h,this.define({dimensions:[o.Dimensions,\"both\"]}),this.register_alias(\"pan\",()=>new l({dimensions:\"both\"})),this.register_alias(\"xpan\",()=>new l({dimensions:\"width\"})),this.register_alias(\"ypan\",()=>new l({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(\"Pan\",this.dimensions)}get icon(){switch(this.dimensions){case\"both\":return a.bk_tool_icon_pan;case\"width\":return a.bk_tool_icon_xpan;case\"height\":return a.bk_tool_icon_ypan}}}e.PanTool=l,l.__name__=\"PanTool\",l.init_PanTool()},\n", + " function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(124),l=e(19),a=s.__importStar(e(18)),r=e(306),o=e(309);function _(e){switch(e){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return e}}function h(e,t,i,s){if(null==t)return!1;const n=i.compute(t);return Math.abs(e-n)n.right)&&(l=!1)}if(null!=n.bottom&&null!=n.top){const e=s.invert(t);(en.top)&&(l=!1)}return l}function u(e,t,i){let s=0;return e>=i.start&&e<=i.end&&(s+=1),t>=i.start&&t<=i.end&&(s+=1),s}function c(e,t,i,s){const n=t.compute(e),l=t.invert(n+i);return l>=s.start&&l<=s.end?l:e}function g(e,t,i){return e>t.start?(t.end=e,i):(t.end=t.start,t.start=e,_(i))}function y(e,t,i){return e=o&&(e.start=a,e.end=r)}i.flip_side=_,i.is_near=h,i.is_inside=d,i.sides_inside=u,i.compute_value=c,i.update_range_end_side=g,i.update_range_start_side=y,i.update_range=f;class p extends r.GestureToolView{initialize(){super.initialize(),this.side=0,this.model.update_overlay_from_ranges()}connect_signals(){super.connect_signals(),null!=this.model.x_range&&this.connect(this.model.x_range.change,()=>this.model.update_overlay_from_ranges()),null!=this.model.y_range&&this.connect(this.model.y_range.change,()=>this.model.update_overlay_from_ranges())}_pan_start(e){this.last_dx=0,this.last_dy=0;const t=this.model.x_range,i=this.model.y_range,{frame:s}=this.plot_view,l=s.x_scale,a=s.y_scale,r=this.model.overlay,{left:o,right:_,top:u,bottom:c}=r,g=this.model.overlay.properties.line_width.value()+n.EDGE_TOLERANCE;null!=t&&this.model.x_interaction&&(h(e.sx,o,l,g)?this.side=1:h(e.sx,_,l,g)?this.side=2:d(e.sx,e.sy,l,a,r)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&h(e.sy,c,a,g)&&(this.side=4),0==this.side&&h(e.sy,u,a,g)?this.side=5:d(e.sx,e.sy,l,a,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))}_pan(e){const t=this.plot_view.frame,i=e.deltaX-this.last_dx,s=e.deltaY-this.last_dy,n=this.model.x_range,l=this.model.y_range,a=t.x_scale,r=t.y_scale;if(null!=n)if(3==this.side||7==this.side)f(n,a,i,t.x_range);else if(1==this.side){const e=c(n.start,a,i,t.x_range);this.side=y(e,n,this.side)}else if(2==this.side){const e=c(n.end,a,i,t.x_range);this.side=g(e,n,this.side)}if(null!=l)if(6==this.side||7==this.side)f(l,r,s,t.y_range);else if(4==this.side){const e=c(l.start,r,s,t.y_range);this.side=y(e,l,this.side)}else if(5==this.side){const e=c(l.end,r,s,t.y_range);this.side=g(e,l,this.side)}this.last_dx=e.deltaX,this.last_dy=e.deltaY}_pan_end(e){this.side=0}}i.RangeToolView=p,p.__name__=\"RangeToolView\";const m=()=>new n.BoxAnnotation({level:\"overlay\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:.5,line_dash:[2,2]});class v extends r.GestureTool{constructor(e){super(e),this.tool_name=\"Range Tool\",this.icon=o.bk_tool_icon_range,this.event_type=\"pan\",this.default_order=1}static init_RangeTool(){this.prototype.default_view=p,this.define({x_range:[a.Instance,null],x_interaction:[a.Boolean,!0],y_range:[a.Instance,null],y_interaction:[a.Boolean,!0],overlay:[a.Instance,m]})}initialize(){super.initialize(),this.overlay.in_cursor=\"grab\",this.overlay.ew_cursor=null!=this.x_range&&this.x_interaction?\"ew-resize\":null,this.overlay.ns_cursor=null!=this.y_range&&this.y_interaction?\"ns-resize\":null}update_overlay_from_ranges(){null==this.x_range&&null==this.y_range&&(this.overlay.left=null,this.overlay.right=null,this.overlay.bottom=null,this.overlay.top=null,l.logger.warn(\"RangeTool not configured with any Ranges.\")),null==this.x_range?(this.overlay.left=null,this.overlay.right=null):(this.overlay.left=this.x_range.start,this.overlay.right=this.x_range.end),null==this.y_range?(this.overlay.bottom=null,this.overlay.top=null):(this.overlay.bottom=this.y_range.start,this.overlay.top=this.y_range.end)}}i.RangeTool=v,v.__name__=\"RangeTool\",v.init_RangeTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),i=e(364),c=o.__importStar(e(18)),n=e(309);class a extends i.SelectToolView{_tap(e){const{sx:t,sy:s}=e,o={type:\"point\",sx:t,sy:s};this._select(o,!0,this._select_mode(e))}_select(e,t,s){const o=this.model.callback;if(\"select\"==this.model.behavior){const i=this._computed_renderers_by_data_source();for(const[,c]of i){const i=c[0].get_selection_manager(),n=c.map(e=>this.plot_view.renderer_views.get(e));if(i.select(n,e,t,s)&&null!=o){const t=n[0].coordinates.x_scale.invert(e.sx),s=n[0].coordinates.y_scale.invert(e.sy),c={geometries:Object.assign(Object.assign({},e),{x:t,y:s}),source:i.source};o.execute(this.model,c)}}this._emit_selection_event(e),this.plot_view.push_state(\"tap\",{selection:this.plot_view.get_selection()})}else for(const t of this.computed_renderers){const s=this.plot_view.renderer_views.get(t),i=t.get_selection_manager();if(i.inspect(s,e)&&null!=o){const t=s.coordinates.x_scale.invert(e.sx),c=s.coordinates.y_scale.invert(e.sy),n={geometries:Object.assign(Object.assign({},e),{x:t,y:c}),source:i.source};o.execute(this.model,n)}}}}s.TapToolView=a,a.__name__=\"TapToolView\";class _ extends i.SelectTool{constructor(e){super(e),this.tool_name=\"Tap\",this.icon=n.bk_tool_icon_tap_select,this.event_type=\"tap\",this.default_order=10}static init_TapTool(){this.prototype.default_view=a,this.define({behavior:[c.TapBehavior,\"select\"],callback:[c.Any]}),this.register_alias(\"click\",()=>new _({behavior:\"inspect\"})),this.register_alias(\"tap\",()=>new _)}}s.TapTool=_,_.__name__=\"TapTool\",_.init_TapTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),o=e(306),n=i.__importStar(e(18)),a=e(309),l=e(371);class _ extends o.GestureToolView{_scroll(e){let t=this.model.speed*e.delta;t>.9?t=.9:t<-.9&&(t=-.9),this._update_ranges(t)}_update_ranges(e){const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,[o,n]=[s.start,s.end],[a,_]=[i.start,i.end];let h,r,d,p;switch(this.model.dimension){case\"height\":{const t=Math.abs(_-a);h=o,r=n,d=a-t*e,p=_-t*e;break}case\"width\":{const t=Math.abs(n-o);h=o-t*e,r=n-t*e,d=a,p=_;break}default:throw new Error(\"this shouldn't have happened\")}const{x_scales:c,y_scales:u}=t,m={xrs:l.update_ranges(c,h,r),yrs:l.update_ranges(u,d,p),factor:e};this.plot_view.push_state(\"wheel_pan\",{range:m}),this.plot_view.update_range(m,!1,!0),null!=this.model.document&&this.model.document.interactive_start(this.plot_model)}}s.WheelPanToolView=_,_.__name__=\"WheelPanToolView\";class h extends o.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Pan\",this.icon=a.bk_tool_icon_wheel_pan,this.event_type=\"scroll\",this.default_order=12}static init_WheelPanTool(){this.prototype.default_view=_,this.define({dimension:[n.Dimension,\"width\"]}),this.internal({speed:[n.Number,.001]}),this.register_alias(\"xwheel_pan\",()=>new h({dimension:\"width\"})),this.register_alias(\"ywheel_pan\",()=>new h({dimension:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimension)}}s.WheelPanTool=h,h.__name__=\"WheelPanTool\",h.init_WheelPanTool()},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const s=e(1),i=e(306),l=e(354),n=s.__importStar(e(18)),_=e(32),h=e(309);class a extends i.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,ctrlKey:i,shiftKey:l}=e;let n;n=s>=1?20*(s-1):-20/s,this._scroll({type:\"wheel\",sx:o,sy:t,delta:n,ctrlKey:i,shiftKey:l})}_scroll(e){const{frame:o}=this.plot_view,t=o.bbox.h_range,s=o.bbox.v_range,{sx:i,sy:n}=e,_=this.model.dimensions,h=(\"width\"==_||\"both\"==_)&&t.startnew m({dimensions:\"both\"})),this.register_alias(\"xwheel_zoom\",()=>new m({dimensions:\"width\"})),this.register_alias(\"ywheel_zoom\",()=>new m({dimensions:\"height\"}))}get tooltip(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}t.WheelZoomTool=m,m.__name__=\"WheelZoomTool\",m.init_WheelZoomTool()},\n", + " function _(i,s,e){Object.defineProperty(e,\"__esModule\",{value:!0});const t=i(1),o=i(295),n=i(168),l=t.__importStar(i(18)),h=i(13),a=i(309);class r extends o.InspectToolView{_move(i){if(!this.model.active)return;const{sx:s,sy:e}=i;this.plot_view.frame.bbox.contains(s,e)?this._update_spans(s,e):this._update_spans(null,null)}_move_exit(i){this._update_spans(null,null)}_update_spans(i,s){const e=this.model.dimensions;\"width\"!=e&&\"both\"!=e||(this.model.spans.width.location=s),\"height\"!=e&&\"both\"!=e||(this.model.spans.height.location=i)}}e.CrosshairToolView=r,r.__name__=\"CrosshairToolView\";class _ extends o.InspectTool{constructor(i){super(i),this.tool_name=\"Crosshair\",this.icon=a.bk_tool_icon_crosshair}static init_CrosshairTool(){this.prototype.default_view=r,this.define({dimensions:[l.Dimensions,\"both\"],line_color:[l.Color,\"black\"],line_width:[l.Number,1],line_alpha:[l.Number,1]}),this.internal({spans:[l.Any]}),this.register_alias(\"crosshair\",()=>new _)}get tooltip(){return this._get_dim_tooltip(\"Crosshair\",this.dimensions)}get synthetic_renderers(){return h.values(this.spans)}initialize(){super.initialize(),this.spans={width:new n.Span({for_hover:!0,dimension:\"width\",location_units:\"screen\",level:\"overlay\",line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha}),height:new n.Span({for_hover:!0,dimension:\"height\",location_units:\"screen\",level:\"overlay\",line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha})}}}e.CrosshairTool=_,_.__name__=\"CrosshairTool\",_.init_CrosshairTool()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const r=e(1),o=e(81),i=r.__importStar(e(18)),a=e(13),n=e(29);class u extends o.Model{constructor(e){super(e)}static init_CustomJSHover(){this.define({args:[i.Any,{}],code:[i.String,\"\"]})}get values(){return a.values(this.args)}_make_code(e,t,s,r){return new Function(...a.keys(this.args),e,t,s,n.use_strict(r))}format(e,t,s){return this._make_code(\"value\",\"format\",\"special_vars\",this.code)(...this.values,e,t,s)}}s.CustomJSHover=u,u.__name__=\"CustomJSHover\",u.init_CustomJSHover()},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const o=e(1),n=e(295),i=e(171),r=e(90),l=e(116),c=e(365),a=o.__importStar(e(101)),_=e(187),d=e(72),p=o.__importStar(e(18)),h=e(22),m=e(13),u=e(303),y=e(8),f=e(115),x=e(309),v=e(172);function w(e,t,s,o,n,i){const r={x:n[e],y:i[e]},l={x:n[e+1],y:i[e+1]};let c,_;if(\"span\"==t.type)\"h\"==t.direction?(c=Math.abs(r.x-s),_=Math.abs(l.x-s)):(c=Math.abs(r.y-o),_=Math.abs(l.y-o));else{const e={x:s,y:o};c=a.dist_2_pts(r,e),_=a.dist_2_pts(l,e)}return c<_?[[r.x,r.y],e]:[[l.x,l.y],e+1]}function g(e,t,s){return[[e[s],t[s]],s]}s._nearest_line_hit=w,s._line_hit=g;class b extends n.InspectToolView{initialize(){super.initialize(),this._ttmodels=null,this._ttviews=new Map;const{tooltips:e}=this.model;y.isArray(e)&&(this._template_el=this._create_template(e))}remove(){f.remove_views(this._ttviews),super.remove()}connect_signals(){super.connect_signals();for(const e of this.computed_renderers)e instanceof r.GlyphRenderer?this.connect(e.data_source.inspect,this._update):e instanceof l.GraphRenderer&&(this.connect(e.node_renderer.data_source.inspect,this._update),this.connect(e.edge_renderer.data_source.inspect,this._update));this.connect(this.model.properties.renderers.change,()=>this._computed_renderers=this._ttmodels=null),this.connect(this.model.properties.names.change,()=>this._computed_renderers=this._ttmodels=null),this.connect(this.model.properties.tooltips.change,()=>this._ttmodels=null)}_compute_ttmodels(){const e=new Map,t=this.model.tooltips;if(null!=t)for(const s of this.computed_renderers){const o=new i.Tooltip({custom:y.isString(t)||y.isFunction(t),attachment:this.model.attachment,show_arrow:this.model.show_arrow});s instanceof r.GlyphRenderer?e.set(s,o):s instanceof l.GraphRenderer&&(e.set(s.node_renderer,o),e.set(s.edge_renderer,o))}return(async()=>{const t=await f.build_views(this._ttviews,[...e.values()],{parent:this.plot_view});for(const e of t)e.render()})(),e}get computed_renderers(){if(null==this._computed_renderers){const e=this.model.renderers,t=this.plot_model.renderers,s=this.model.names;this._computed_renderers=c.compute_renderers(e,t,s)}return this._computed_renderers}get ttmodels(){return null==this._ttmodels&&(this._ttmodels=this._compute_ttmodels()),this._ttmodels}_clear(){this._inspect(1/0,1/0);for(const[,e]of this.ttmodels)e.clear()}_move(e){if(!this.model.active)return;const{sx:t,sy:s}=e;this.plot_view.frame.bbox.contains(t,s)?this._inspect(t,s):this._clear()}_move_exit(){this._clear()}_inspect(e,t){let s;if(\"mouse\"==this.model.mode)s={type:\"point\",sx:e,sy:t};else{s={type:\"span\",direction:\"vline\"==this.model.mode?\"h\":\"v\",sx:e,sy:t}}for(const e of this.computed_renderers){e.get_selection_manager().inspect(this.plot_view.renderer_views.get(e),s)}null!=this.model.callback&&this._emit_callback(s)}_update([e,{geometry:t}]){if(!this.model.active)return;if(!(e instanceof r.GlyphRendererView))return;const{model:s}=e;if(\"ignore\"==this.model.muted_policy&&s instanceof r.GlyphRenderer&&s.muted)return;const o=this.ttmodels.get(s);if(null==o)return;const n=s.get_selection_manager();let i=n.inspectors.get(s);if(s instanceof r.GlyphRenderer&&(i=s.view.convert_selection_to_subset(i)),i.is_empty())return void o.clear();const l=n.source,{sx:c,sy:a}=t,_=e.coordinates.x_scale,p=e.coordinates.y_scale,h=_.invert(c),u=p.invert(a),y=e.glyph,f=[];for(const s of i.line_indices){let o,n,r=y._x[s+1],d=y._y[s+1],m=s;switch(this.model.line_policy){case\"interp\":[r,d]=y.get_interpolation_hit(s,t),o=_.compute(r),n=p.compute(d);break;case\"prev\":[[o,n],m]=g(y.sx,y.sy,s);break;case\"next\":[[o,n],m]=g(y.sx,y.sy,s+1);break;case\"nearest\":[[o,n],m]=w(s,t,c,a,y.sx,y.sy),r=y._x[m],d=y._y[m];break;default:[o,n]=[c,a]}const x={index:m,x:h,y:u,sx:c,sy:a,data_x:r,data_y:d,rx:o,ry:n,indices:i.line_indices,name:e.model.name};f.push([o,n,this._render_tooltips(l,m,x)])}for(const t of i.image_indices){const s={index:t.index,x:h,y:u,sx:c,sy:a,name:e.model.name},o=this._render_tooltips(l,t,s);f.push([c,a,o])}for(const o of i.indices)if(m.isEmpty(i.multiline_indices)){const t=null!=y._x?y._x[o]:void 0,n=null!=y._y?y._y[o]:void 0;let _,d,p;if(\"snap_to_data\"==this.model.point_policy){let e=y.get_anchor_point(this.model.anchor,o,[c,a]);null==e&&(e=y.get_anchor_point(\"center\",o,[c,a])),_=e.x,d=e.y}else[_,d]=[c,a];p=s instanceof r.GlyphRenderer?s.view.convert_indices_from_subset([o])[0]:o;const m={index:p,x:h,y:u,sx:c,sy:a,data_x:t,data_y:n,indices:i.indices,name:e.model.name};f.push([_,d,this._render_tooltips(l,p,m)])}else for(const n of i.multiline_indices[o.toString()]){let d,m,x,v=y._xs[o][n],b=y._ys[o][n],k=n;switch(this.model.line_policy){case\"interp\":[v,b]=y.get_interpolation_hit(o,n,t),d=_.compute(v),m=p.compute(b);break;case\"prev\":[[d,m],k]=g(y.sxs[o],y.sys[o],n);break;case\"next\":[[d,m],k]=g(y.sxs[o],y.sys[o],n+1);break;case\"nearest\":[[d,m],k]=w(n,t,c,a,y.sxs[o],y.sys[o]),v=y._xs[o][k],b=y._ys[o][k];break;default:throw new Error(\"should't have happened\")}x=s instanceof r.GlyphRenderer?s.view.convert_indices_from_subset([o])[0]:o;const A={index:x,x:h,y:u,sx:c,sy:a,data_x:v,data_y:b,segment_index:k,indices:i.multiline_indices,name:e.model.name};f.push([d,m,this._render_tooltips(l,x,A)])}if(0==f.length)o.clear();else{const{content:e}=o;d.empty(o.content);for(const[,,t]of f)e.appendChild(t);const[t,s]=f[f.length-1];o.setv({position:[t,s]},{check_eq:!1})}}_emit_callback(e){for(const t of this.computed_renderers){const s=this.plot_view.renderer_views.get(t),o=s.coordinates.x_scale.invert(e.sx),n=s.coordinates.y_scale.invert(e.sy),i=t.data_source.inspected,r=Object.assign({x:o,y:n},e);this.model.callback.execute(this.model,{index:i,geometry:r,renderer:t})}}_create_template(e){const t=d.div({style:{display:\"table\",borderSpacing:\"2px\"}});for(const[s]of e){const e=d.div({style:{display:\"table-row\"}});t.appendChild(e);const o=d.div({style:{display:\"table-cell\"},class:v.bk_tooltip_row_label},0!=s.length?s+\": \":\"\");e.appendChild(o);const n=d.span();n.dataset.value=\"\";const i=d.span({class:v.bk_tooltip_color_block},\" \");i.dataset.swatch=\"\",d.undisplay(i);const r=d.div({style:{display:\"table-cell\"},class:v.bk_tooltip_row_value},n,i);e.appendChild(r)}return t}_render_template(e,t,s,o,n){const i=e.cloneNode(!0),r=i.querySelectorAll(\"[data-value]\"),l=i.querySelectorAll(\"[data-swatch]\"),c=/\\$color(\\[.*\\])?:(\\w*)/;for(const[[,e],i]of u.enumerate(t)){const t=e.match(c);if(null!=t){const[,e=\"\",n]=t,c=s.get_column(n);if(null==c){r[i].textContent=n+\" unknown\";continue}const a=e.indexOf(\"hex\")>=0,_=e.indexOf(\"swatch\")>=0;let p=y.isNumber(o)?c[o]:null;if(null==p){r[i].textContent=\"(null)\";continue}a&&(p=h.color2hex(p)),r[i].textContent=p,_&&(l[i].style.backgroundColor=p,d.display(l[i]))}else{const t=_.replace_placeholders(e.replace(\"$~\",\"$data_\"),s,o,this.model.formatters,n);if(y.isString(t))r[i].textContent=t;else for(const e of t)r[i].appendChild(e)}}return i}_render_tooltips(e,t,s){const o=this.model.tooltips;if(y.isString(o)){const n=_.replace_placeholders({html:o},e,t,this.model.formatters,s);return d.div({},n)}return y.isFunction(o)?o(e,s):this._render_template(this._template_el,o,e,t,s)}}s.HoverToolView=b,b.__name__=\"HoverToolView\";class k extends n.InspectTool{constructor(e){super(e),this.tool_name=\"Hover\",this.icon=x.bk_tool_icon_hover}static init_HoverTool(){this.prototype.default_view=b,this.define({tooltips:[p.Any,[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[p.Any,{}],renderers:[p.Any,\"auto\"],names:[p.Array,[]],mode:[p.HoverMode,\"mouse\"],muted_policy:[p.MutedPolicy,\"show\"],point_policy:[p.PointPolicy,\"snap_to_data\"],line_policy:[p.LinePolicy,\"nearest\"],show_arrow:[p.Boolean,!0],anchor:[p.Anchor,\"center\"],attachment:[p.TooltipAttachment,\"horizontal\"],callback:[p.Any]}),this.register_alias(\"hover\",()=>new k)}}s.HoverTool=k,k.__name__=\"HoverTool\",k.init_HoverTool()},\n", + " function _(t,o,e){Object.defineProperty(e,\"__esModule\",{value:!0});const i=t(1).__importStar(t(18)),n=t(15),s=t(81),l=t(295),c=t(303);class r extends s.Model{constructor(t){super(t)}static init_ToolProxy(){this.define({tools:[i.Array,[]],active:[i.Boolean,!1],disabled:[i.Boolean,!1]})}get button_view(){return this.tools[0].button_view}get event_type(){return this.tools[0].event_type}get tooltip(){return this.tools[0].tooltip}get tool_name(){return this.tools[0].tool_name}get icon(){return this.tools[0].computed_icon}get computed_icon(){return this.icon}get toggleable(){const t=this.tools[0];return t instanceof l.InspectTool&&t.toggleable}initialize(){super.initialize(),this.do=new n.Signal0(this,\"do\")}connect_signals(){super.connect_signals(),this.connect(this.do,()=>this.doit()),this.connect(this.properties.active.change,()=>this.set_active());for(const t of this.tools)this.connect(t.properties.active.change,()=>{this.active=t.active})}doit(){for(const t of this.tools)t.do.emit()}set_active(){for(const t of this.tools)t.active=this.active}get menu(){const{menu:t}=this.tools[0];if(null==t)return null;const o=[];for(const[e,i]of c.enumerate(t))if(null==e)o.push(null);else{const t=()=>{var t,o;for(const e of this.tools)null===(o=null===(t=e.menu)||void 0===t?void 0:t[i])||void 0===o||o.handler()};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=r,r.__name__=\"ToolProxy\",r.init_ToolProxy()},\n", + " function _(o,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=o(1).__importStar(o(18)),e=o(9),n=o(13),r=o(305),l=o(379),c=o(272),h=o(212);class a extends r.ToolbarBase{constructor(o){super(o)}static init_ProxyToolbar(){this.define({toolbars:[i.Array,[]]})}initialize(){super.initialize(),this._merge_tools()}_merge_tools(){this._proxied_tools=[];const o={},t={},s={},i=[],r=[];for(const o of this.help)e.includes(r,o.redirect)||(i.push(o),r.push(o.redirect));this._proxied_tools.push(...i),this.help=i;for(const[o,t]of n.entries(this.gestures)){o in s||(s[o]={});for(const i of t.tools)i.type in s[o]||(s[o][i.type]=[]),s[o][i.type].push(i)}for(const t of this.inspectors)t.type in o||(o[t.type]=[]),o[t.type].push(t);for(const o of this.actions)o.type in t||(t[o.type]=[]),t[o.type].push(o);const c=(o,t=!1)=>{const s=new l.ToolProxy({tools:o,active:t});return this._proxied_tools.push(s),s};for(const o of n.keys(s)){const t=this.gestures[o];t.tools=[];for(const i of n.keys(s[o])){const e=s[o][i];if(e.length>0)if(\"multi\"==o)for(const o of e){const s=c([o]);t.tools.push(s),this.connect(s.properties.active.change,()=>this._active_change(s))}else{const o=c(e);t.tools.push(o),this.connect(o.properties.active.change,()=>this._active_change(o))}}}this.actions=[];for(const[o,s]of n.entries(t))if(\"CustomAction\"==o)for(const o of s)this.actions.push(c([o]));else s.length>0&&this.actions.push(c(s));this.inspectors=[];for(const t of n.values(o))t.length>0&&this.inspectors.push(c(t,!0));for(const[o,t]of n.entries(this.gestures))0!=t.tools.length&&(t.tools=e.sort_by(t.tools,o=>o.default_order),\"pinch\"!=o&&\"scroll\"!=o&&\"multi\"!=o&&(t.tools[0].active=!0))}}s.ProxyToolbar=a,a.__name__=\"ProxyToolbar\",a.init_ProxyToolbar();class _ extends c.LayoutDOMView{initialize(){this.model.toolbar.toolbar_location=this.model.toolbar_location,super.initialize()}get child_models(){return[this.model.toolbar]}_update_layout(){this.layout=new h.ContentBox(this.child_views[0].el);const{toolbar:o}=this.model;o.horizontal?this.layout.set_sizing({width_policy:\"fit\",min_width:100,height_policy:\"fixed\"}):this.layout.set_sizing({width_policy:\"fixed\",height_policy:\"fit\",min_height:100})}}s.ToolbarBoxView=_,_.__name__=\"ToolbarBoxView\";class p extends c.LayoutDOM{constructor(o){super(o)}static init_ToolbarBox(){this.prototype.default_view=_,this.define({toolbar:[i.Instance],toolbar_location:[i.Location,\"right\"]})}}s.ToolbarBox=p,p.__name__=\"ToolbarBox\",p.init_ToolbarBox()},\n", + " function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=e(5),i=e(78),d=e(115),c=e(72),l=e(382);t.index={},t.add_document_standalone=async function(e,n,s=[],a=!1){const u=new Map;async function r(o){let a;const r=e.roots().indexOf(o),f=s[r];null!=f?a=f:n.classList.contains(l.BOKEH_ROOT)?a=n:(a=c.div({class:l.BOKEH_ROOT}),n.appendChild(a));const v=await d.build_view(o,{parent:null});return v instanceof i.DOMView&&v.renderTo(a),u.set(o,v),t.index[o.id]=v,v}for(const n of e.roots())await r(n);return a&&(window.document.title=e.title()),e.on_change(e=>{e instanceof o.RootAddedEvent?r(e.model):e instanceof o.RootRemovedEvent?function(e){const n=u.get(e);null!=n&&(n.remove(),u.delete(e),delete t.index[e.id])}(e.model):a&&e instanceof o.TitleChangedEvent&&(window.document.title=e.title)}),[...u.values()]}},\n", + " function _(e,o,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(72),r=e(273);function l(e){let o=document.getElementById(e);if(null==o)throw new Error(`Error rendering Bokeh model: could not find #${e} HTML tag`);if(!document.body.contains(o))throw new Error(`Error rendering Bokeh model: element #${e} must be under `);if(\"SCRIPT\"==o.tagName){const e=t.div({class:n.BOKEH_ROOT});t.replaceWith(o,e),o=e}return o}n.BOKEH_ROOT=r.bk_root,n._resolve_element=function(e){const{elementid:o}=e;return null!=o?l(o):document.body},n._resolve_root_elements=function(e){const o=[];if(null!=e.root_ids&&null!=e.roots)for(const n of e.root_ids)o.push(l(e.roots[n]));return o}},\n", + " function _(n,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const e=n(384),s=n(19),c=n(381);t._get_ws_url=function(n,o){let t,e=\"ws:\";return\"https:\"==window.location.protocol&&(e=\"wss:\"),null!=o?(t=document.createElement(\"a\"),t.href=o):t=window.location,null!=n?\"/\"==n&&(n=\"\"):n=t.pathname.replace(/\\/+$/,\"\"),e+\"//\"+t.host+n+\"/ws\"};const r={};t.add_document_from_session=async function(n,o,t,a=[],i=!1){const l=window.location.search.substr(1);let d;try{d=await function(n,o,t){const s=e.parse_token(o).session_id;n in r||(r[n]={});const c=r[n];return s in c||(c[s]=e.pull_session(n,o,t)),c[s]}(n,o,l)}catch(n){const t=e.parse_token(o).session_id;throw s.logger.error(`Failed to load Bokeh session ${t}: ${n}`),n}return c.add_document_standalone(d.document,t,a,i)}},\n", + " function _(e,s,n){Object.defineProperty(n,\"__esModule\",{value:!0});const t=e(19),o=e(5),r=e(385),i=e(386),c=e(387);n.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",n.DEFAULT_TOKEN=\"eyJzZXNzaW9uX2lkIjogImRlZmF1bHQifQ\";let l=0;function _(e){let s=e.split(\".\")[0];const n=s.length%4;return 0!=n&&(s+=\"=\".repeat(4-n)),JSON.parse(atob(s.replace(/_/g,\"/\").replace(/-/g,\"+\")))}n.parse_token=_;class h{constructor(e=n.DEFAULT_SERVER_WEBSOCKET_URL,s=n.DEFAULT_TOKEN,o=null){this.url=e,this.token=s,this.args_string=o,this._number=l++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_replies=new Map,this._pending_messages=[],this._receiver=new i.Receiver,this.id=_(s).session_id.split(\".\")[0],t.logger.debug(`Creating websocket ${this._number} to '${this.url}' session '${this.id}'`)}async connect(){if(this.closed_permanently)throw new Error(\"Cannot connect() a closed ClientConnection\");if(null!=this.socket)throw new Error(\"Already connected\");this._current_handler=null,this._pending_replies.clear(),this._pending_messages=[];try{let e=\"\"+this.url;return null!=this.args_string&&this.args_string.length>0&&(e+=\"?\"+this.args_string),this.socket=new WebSocket(e,[\"bokeh\",this.token]),new Promise((e,s)=>{this.socket.binaryType=\"arraybuffer\",this.socket.onopen=()=>this._on_open(e,s),this.socket.onmessage=e=>this._on_message(e),this.socket.onclose=e=>this._on_close(e,s),this.socket.onerror=()=>this._on_error(s)})}catch(e){throw t.logger.error(\"websocket creation failed to url: \"+this.url),t.logger.error(\" - \"+e),e}}close(){this.closed_permanently||(t.logger.debug(\"Permanently closing websocket connection \"+this._number),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,\"close method called on ClientConnection \"+this._number),this.session._connection_closed())}_schedule_reconnect(e){setTimeout(()=>{this.closed_permanently||t.logger.info(`Websocket connection ${this._number} disconnected, will not attempt to reconnect`)},e)}send(e){if(null==this.socket)throw new Error(\"not connected so cannot send \"+e);e.send(this.socket)}async send_with_reply(e){const s=await new Promise((s,n)=>{this._pending_replies.set(e.msgid(),{resolve:s,reject:n}),this.send(e)});if(\"ERROR\"===s.msgtype())throw new Error(\"Error reply \"+s.content.text);return s}async _pull_doc_json(){const e=r.Message.create(\"PULL-DOC-REQ\",{}),s=await this.send_with_reply(e);if(!(\"doc\"in s.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return s.content.doc}async _repull_session_doc(e,s){var n;t.logger.debug(this.session?\"Repulling session\":\"Pulling session for first time\");try{const n=await this._pull_doc_json();if(null==this.session)if(this.closed_permanently)t.logger.debug(\"Got new document after connection was already closed\"),s(new Error(\"The connection has been closed\"));else{const s=o.Document.from_json(n),i=o.Document._compute_patch_since_json(n,s);if(i.events.length>0){t.logger.debug(`Sending ${i.events.length} changes from model construction back to server`);const e=r.Message.create(\"PATCH-DOC\",{},i);this.send(e)}this.session=new c.ClientSession(this,s,this.id);for(const e of this._pending_messages)this.session.handle(e);this._pending_messages=[],t.logger.debug(\"Created a new session from new pulled doc\"),e(this.session)}else this.session.document.replace_with_json(n),t.logger.debug(\"Updated existing session with new pulled doc\")}catch(e){null===(n=console.trace)||void 0===n||n.call(console,e),t.logger.error(\"Failed to repull session \"+e),s(e)}}_on_open(e,s){t.logger.info(`Websocket connection ${this._number} is now open`),this._current_handler=n=>{this._awaiting_ack_handler(n,e,s)}}_on_message(e){null==this._current_handler&&t.logger.error(\"Got a message with no current handler set\");try{this._receiver.consume(e.data)}catch(e){this._close_bad_protocol(e.toString())}const s=this._receiver.message;if(null!=s){const e=s.problem();null!=e&&this._close_bad_protocol(e),this._current_handler(s)}}_on_close(e,s){t.logger.info(`Lost websocket ${this._number} connection, ${e.code} (${e.reason})`),this.socket=null,this._pending_replies.forEach(e=>e.reject(\"Disconnected\")),this._pending_replies.clear(),this.closed_permanently||this._schedule_reconnect(2e3),s(new Error(`Lost websocket connection, ${e.code} (${e.reason})`))}_on_error(e){t.logger.debug(\"Websocket error on socket \"+this._number);const s=\"Could not open websocket\";t.logger.error(\"Failed to connect to Bokeh server: \"+s),e(new Error(s))}_close_bad_protocol(e){t.logger.error(\"Closing connection: \"+e),null!=this.socket&&this.socket.close(1002,e)}_awaiting_ack_handler(e,s,n){\"ACK\"===e.msgtype()?(this._current_handler=e=>this._steady_state_handler(e),this._repull_session_doc(s,n)):this._close_bad_protocol(\"First message was not an ACK\")}_steady_state_handler(e){const s=e.reqid(),n=this._pending_replies.get(s);n?(this._pending_replies.delete(s),n.resolve(e)):this.session?this.session.handle(e):\"PATCH-DOC\"!=e.msgtype()&&this._pending_messages.push(e)}}n.ClientConnection=h,h.__name__=\"ClientConnection\",n.pull_session=function(e,s,n){return new h(e,s,n).connect()}},\n", + " function _(e,s,t){Object.defineProperty(t,\"__esModule\",{value:!0});const r=e(29);class n{constructor(e,s,t){this.header=e,this.metadata=s,this.content=t,this.buffers=new Map}static assemble(e,s,t){const r=JSON.parse(e),i=JSON.parse(s),a=JSON.parse(t);return new n(r,i,a)}assemble_buffer(e,s){const t=null!=this.header.num_buffers?this.header.num_buffers:0;if(t<=this.buffers.size)throw new Error(\"too many buffers received, expecting \"+t);const{id:r}=JSON.parse(e);this.buffers.set(r,s)}static create(e,s,t={}){const r=n.create_header(e);return new n(r,s,t)}static create_header(e){return{msgid:r.uniqueId(),msgtype:e}}complete(){return null!=this.header&&null!=this.metadata&&null!=this.content&&(null==this.header.num_buffers||this.buffers.size==this.header.num_buffers)}send(e){if((null!=this.header.num_buffers?this.header.num_buffers:0)>0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");const s=JSON.stringify(this.header),t=JSON.stringify(this.metadata),r=JSON.stringify(this.content);e.send(s),e.send(t),e.send(r)}msgid(){return this.header.msgid}msgtype(){return this.header.msgtype}reqid(){return this.header.reqid}problem(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"}}t.Message=n,n.__name__=\"Message\"},\n", + " function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const _=e(385),r=e(8);class i{constructor(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}consume(e){this._current_consumer(e)}_HEADER(e){this._assume_text(e),this.message=null,this._partial=null,this._fragments=[e],this._buf_header=null,this._current_consumer=this._METADATA}_METADATA(e){this._assume_text(e),this._fragments.push(e),this._current_consumer=this._CONTENT}_CONTENT(e){this._assume_text(e),this._fragments.push(e);const[t,s,r]=this._fragments.slice(0,3);this._partial=_.Message.assemble(t,s,r),this._check_complete()}_BUFFER_HEADER(e){this._assume_text(e),this._buf_header=e,this._current_consumer=this._BUFFER_PAYLOAD}_BUFFER_PAYLOAD(e){this._assume_binary(e),this._partial.assemble_buffer(this._buf_header,e),this._check_complete()}_assume_text(e){if(!r.isString(e))throw new Error(\"Expected text fragment but received binary fragment\")}_assume_binary(e){if(!(e instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")}_check_complete(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER}}s.Receiver=i,i.__name__=\"Receiver\"},\n", + " function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=e(5),s=e(385),c=e(19);class i{constructor(e,t,n){this._connection=e,this.document=t,this.id=n,this._document_listener=e=>{this._document_changed(e)},this.document.on_change(this._document_listener,!0)}handle(e){const t=e.msgtype();\"PATCH-DOC\"===t?this._handle_patch(e):\"OK\"===t?this._handle_ok(e):\"ERROR\"===t?this._handle_error(e):c.logger.debug(\"Doing nothing with message \"+e.msgtype())}close(){this._connection.close()}_connection_closed(){this.document.remove_on_change(this._document_listener)}async request_server_info(){const e=s.Message.create(\"SERVER-INFO-REQ\",{});return(await this._connection.send_with_reply(e)).content}async force_roundtrip(){await this.request_server_info()}_document_changed(e){if(e.setter_id===this.id)return;const t=e instanceof o.DocumentEventBatch?e.events:[e],n=this.document.create_json_patch(t),c=s.Message.create(\"PATCH-DOC\",{},n);this._connection.send(c)}_handle_patch(e){this.document.apply_json_patch(e.content,e.buffers,this.id)}_handle_ok(e){c.logger.trace(\"Unhandled OK reply to \"+e.reqid())}_handle_error(e){c.logger.error(`Unhandled ERROR reply to ${e.reqid()}: ${e.content.text}`)}}n.ClientSession=i,i.__name__=\"ClientSession\"},\n", + " function _(e,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1);var r=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var o,t=e[Symbol.asyncIterator];return t?t.call(e):(e=\"function\"==typeof __values?__values(e):e[Symbol.iterator](),o={},n(\"next\"),n(\"throw\"),n(\"return\"),o[Symbol.asyncIterator]=function(){return this},o);function n(t){o[t]=e[t]&&function(o){return new Promise((function(n,r){(function(e,o,t,n){Promise.resolve(n).then((function(o){e({value:o,done:t})}),o)})(n,r,(o=e[t](o)).done,o.value)}))}}};const s=e(5),i=e(386),l=e(19),a=e(72),c=e(13),u=e(381),f=e(382),g=n.__importDefault(e(73)),m=n.__importDefault(e(311)),d=n.__importDefault(e(389));function p(e,o){o.buffers.length>0?e.consume(o.buffers[0].buffer):e.consume(o.content.data);const t=e.message;null!=t&&this.apply_json_patch(t.content,t.buffers)}function _(e,o){if(\"undefined\"!=typeof Jupyter&&null!=Jupyter.notebook.kernel){l.logger.info(\"Registering Jupyter comms for target \"+e);const t=Jupyter.notebook.kernel.comm_manager;try{t.register_target(e,t=>{l.logger.info(\"Registering Jupyter comms for target \"+e);const n=new i.Receiver;t.on_msg(p.bind(o,n))})}catch(e){l.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(o.roots()[0].id in t.kernels){l.logger.info(\"Registering JupyterLab comms for target \"+e);const n=t.kernels[o.roots()[0].id];try{n.registerCommTarget(e,t=>{l.logger.info(\"Registering JupyterLab comms for target \"+e);const n=new i.Receiver;t.onMsg=p.bind(o,n)})}catch(e){l.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(\"undefined\"!=typeof google&&null!=google.colab.kernel){l.logger.info(\"Registering Google Colab comms for target \"+e);const t=google.colab.kernel.comms;try{t.registerTarget(e,async t=>{var n,s,a;l.logger.info(\"Registering Google Colab comms for target \"+e);const c=new i.Receiver;try{for(var u,f=r(t.messages);!(u=await f.next()).done;){const e=u.value,t={data:e.data},n=[];for(const o of null!==(a=e.buffers)&&void 0!==a?a:[])n.push(new DataView(o));const r={content:t,buffers:n};p.bind(o)(c,r)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(s=f.return)&&await s.call(f)}finally{if(n)throw n.error}}})}catch(e){l.logger.warn(`Google Colab comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function. If running JupyterLab ensure the latest @bokeh/jupyter_bokeh extension is installed. In an exported notebook this warning is expected.\")}a.stylesheet.append(g.default),a.stylesheet.append(m.default),a.stylesheet.append(d.default),t.kernels={},t.embed_items_notebook=function(e,o){if(1!=c.size(e))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");const t=s.Document.from_json(c.values(e)[0]);for(const e of o){null!=e.notebook_comms_target&&_(e.notebook_comms_target,t);const o=f._resolve_element(e),n=f._resolve_root_elements(e);u.add_document_standalone(t,o,n)}}},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});o.default=\"\\n/* notebook specific tweaks so no black outline and matching padding\\n/* can't be wrapped inside bk-root. here are the offending jupyter lines:\\n/* https://github.com/jupyter/notebook/blob/master/notebook/static/notebook/less/renderedhtml.less#L59-L76 */\\n.rendered_html .bk-root .bk-tooltip table,\\n.rendered_html .bk-root .bk-tooltip tr,\\n.rendered_html .bk-root .bk-tooltip th,\\n.rendered_html .bk-root .bk-tooltip td {\\n border: none;\\n padding: 1px;\\n}\\n\"},\n", + " function _(e,t,_){Object.defineProperty(_,\"__esModule\",{value:!0});const o=e(1);o.__exportStar(e(385),_),o.__exportStar(e(386),_)},\n", + " function _(e,t,n){function s(){const e=document.getElementsByTagName(\"body\")[0],t=document.getElementsByClassName(\"bokeh-test-div\");1==t.length&&(e.removeChild(t[0]),delete t[0]);const n=document.createElement(\"div\");n.classList.add(\"bokeh-test-div\"),n.style.display=\"none\",e.insertBefore(n,e.firstChild)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.results={},n.init=function(){s()},n.record0=function(e,t){n.results[e]=t},n.record=function(e,t){n.results[e]=t,s()},n.count=function(e){null==n.results[e]&&(n.results[e]=0),n.results[e]+=1,s()}},\n", + " function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0}),o.safely=function(e,t=!1){try{return e()}catch(e){if(function(e){const t=document.createElement(\"div\");t.style.backgroundColor=\"#f2dede\",t.style.border=\"1px solid #a94442\",t.style.borderRadius=\"4px\",t.style.display=\"inline-block\",t.style.fontFamily=\"sans-serif\",t.style.marginTop=\"5px\",t.style.minWidth=\"200px\",t.style.padding=\"5px 5px 5px 10px\",t.classList.add(\"bokeh-error-box-into-flames\");const o=document.createElement(\"span\");o.style.backgroundColor=\"#a94442\",o.style.borderRadius=\"0px 4px 0px 0px\",o.style.color=\"white\",o.style.cursor=\"pointer\",o.style.cssFloat=\"right\",o.style.fontSize=\"0.8em\",o.style.margin=\"-6px -6px 0px 0px\",o.style.padding=\"2px 5px 4px 5px\",o.title=\"close\",o.setAttribute(\"aria-label\",\"close\"),o.appendChild(document.createTextNode(\"x\")),o.addEventListener(\"click\",()=>r.removeChild(t));const n=document.createElement(\"h3\");n.style.color=\"#a94442\",n.style.margin=\"8px 0px 0px 0px\",n.style.padding=\"0px\",n.appendChild(document.createTextNode(\"Bokeh Error\"));const l=document.createElement(\"pre\");l.style.whiteSpace=\"unset\",l.style.overflowX=\"auto\";const s=e instanceof Error?e.message:e;l.appendChild(document.createTextNode(s)),t.appendChild(o),t.appendChild(n),t.appendChild(l);const r=document.getElementsByTagName(\"body\")[0];r.insertBefore(t,r.firstChild)}(e),t)return;throw e}}},\n", + " ], 0, {\"main\":0,\"tslib\":1,\"index\":2,\"version\":3,\"embed/index\":4,\"document/index\":5,\"document/document\":6,\"base\":7,\"core/util/types\":8,\"core/util/array\":9,\"core/util/math\":10,\"core/util/assert\":11,\"core/util/arrayable\":12,\"core/util/object\":13,\"core/has_props\":14,\"core/signaling\":15,\"core/util/callback\":16,\"core/util/refs\":17,\"core/properties\":18,\"core/logging\":19,\"core/enums\":20,\"core/kinds\":21,\"core/util/color\":22,\"core/util/svg_colors\":23,\"core/types\":24,\"core/util/eq\":25,\"core/util/data_structures\":26,\"core/settings\":27,\"core/property_mixins\":28,\"core/util/string\":29,\"core/util/ndarray\":30,\"core/util/serialization\":31,\"core/util/compat\":32,\"core/util/pretty\":33,\"models/index\":34,\"models/annotations/index\":35,\"models/annotations/annotation\":36,\"core/util/projections\":37,\"models/renderers/renderer\":70,\"core/view\":71,\"core/dom\":72,\"styles/root.css\":73,\"core/visuals\":74,\"core/util/svg\":75,\"core/util/affine\":76,\"models/canvas/canvas\":77,\"core/dom_view\":78,\"core/util/bbox\":79,\"core/util/canvas\":80,\"model\":81,\"models/canvas/coordinates\":82,\"models/annotations/arrow\":83,\"models/annotations/arrow_head\":84,\"models/sources/column_data_source\":85,\"models/sources/columnar_data_source\":86,\"models/sources/data_source\":87,\"models/selections/selection\":88,\"core/selection_manager\":89,\"models/renderers/glyph_renderer\":90,\"models/renderers/data_renderer\":91,\"models/glyphs/line\":92,\"models/glyphs/xy_glyph\":93,\"models/glyphs/glyph\":94,\"core/util/spatial\":95,\"models/ranges/factor_range\":98,\"models/ranges/range\":99,\"models/glyphs/utils\":100,\"core/hittest\":101,\"models/glyphs/webgl/line\":102,\"models/glyphs/webgl/utils/index\":103,\"models/glyphs/webgl/utils/program\":104,\"models/glyphs/webgl/utils/buffer\":105,\"models/glyphs/webgl/utils/texture\":106,\"models/glyphs/webgl/base\":107,\"models/glyphs/webgl/line.vert\":108,\"models/glyphs/webgl/line.frag\":109,\"models/glyphs/patch\":110,\"models/glyphs/harea\":111,\"models/glyphs/area\":112,\"models/glyphs/varea\":113,\"models/sources/cds_view\":114,\"core/build_views\":115,\"models/renderers/graph_renderer\":116,\"models/graphs/graph_hit_test_policy\":117,\"models/selections/interaction_policy\":118,\"core/util/typed_array\":119,\"core/util/set\":120,\"document/events\":121,\"models/annotations/band\":122,\"models/annotations/upper_lower\":123,\"models/annotations/box_annotation\":124,\"models/annotations/color_bar\":125,\"models/tickers/basic_ticker\":126,\"models/tickers/adaptive_ticker\":127,\"models/tickers/continuous_ticker\":128,\"models/tickers/ticker\":129,\"models/formatters/basic_tick_formatter\":130,\"models/formatters/tick_formatter\":131,\"models/mappers/index\":132,\"models/mappers/categorical_color_mapper\":133,\"models/mappers/categorical_mapper\":134,\"models/mappers/color_mapper\":135,\"models/mappers/mapper\":136,\"models/transforms/transform\":137,\"models/mappers/categorical_marker_mapper\":138,\"models/mappers/categorical_pattern_mapper\":139,\"models/mappers/continuous_color_mapper\":140,\"models/mappers/linear_color_mapper\":141,\"models/mappers/log_color_mapper\":142,\"models/mappers/scanning_color_mapper\":143,\"models/mappers/eqhist_color_mapper\":144,\"models/scales/linear_scale\":145,\"models/scales/continuous_scale\":146,\"models/scales/scale\":147,\"models/transforms/index\":148,\"models/transforms/customjs_transform\":149,\"models/transforms/dodge\":150,\"models/transforms/range_transform\":151,\"models/transforms/interpolator\":152,\"models/transforms/jitter\":153,\"models/transforms/linear_interpolator\":154,\"models/transforms/step_interpolator\":155,\"models/scales/linear_interpolation_scale\":156,\"models/scales/log_scale\":157,\"models/ranges/range1d\":158,\"core/util/text\":159,\"models/annotations/label\":160,\"models/annotations/text_annotation\":161,\"models/annotations/label_set\":162,\"models/annotations/legend\":163,\"models/annotations/legend_item\":164,\"core/vectorization\":165,\"models/annotations/poly_annotation\":166,\"models/annotations/slope\":167,\"models/annotations/span\":168,\"models/annotations/title\":169,\"models/annotations/toolbar_panel\":170,\"models/annotations/tooltip\":171,\"styles/tooltips\":172,\"styles/mixins\":173,\"styles/tooltips.css\":174,\"models/annotations/whisker\":175,\"models/axes/index\":176,\"models/axes/axis\":177,\"models/renderers/guide_renderer\":178,\"models/axes/categorical_axis\":179,\"models/tickers/categorical_ticker\":180,\"models/formatters/categorical_tick_formatter\":181,\"models/axes/continuous_axis\":182,\"models/axes/datetime_axis\":183,\"models/axes/linear_axis\":184,\"models/formatters/datetime_tick_formatter\":185,\"core/util/templating\":187,\"models/tickers/datetime_ticker\":190,\"models/tickers/composite_ticker\":191,\"models/tickers/days_ticker\":192,\"models/tickers/single_interval_ticker\":193,\"models/tickers/util\":194,\"models/tickers/months_ticker\":195,\"models/tickers/years_ticker\":196,\"models/axes/log_axis\":197,\"models/formatters/log_tick_formatter\":198,\"models/tickers/log_ticker\":199,\"models/axes/mercator_axis\":200,\"models/formatters/mercator_tick_formatter\":201,\"models/tickers/mercator_ticker\":202,\"models/callbacks/index\":203,\"models/callbacks/customjs\":204,\"models/callbacks/callback\":205,\"models/callbacks/open_url\":206,\"models/canvas/index\":207,\"models/canvas/cartesian_frame\":208,\"models/scales/categorical_scale\":209,\"models/ranges/data_range1d\":210,\"models/ranges/data_range\":211,\"core/layout/index\":212,\"core/layout/types\":213,\"core/layout/layoutable\":214,\"core/layout/alignments\":215,\"core/layout/grid\":216,\"core/layout/html\":217,\"models/expressions/index\":218,\"models/expressions/expression\":219,\"models/expressions/stack\":220,\"models/expressions/cumsum\":221,\"models/filters/index\":222,\"models/filters/boolean_filter\":223,\"models/filters/filter\":224,\"models/filters/customjs_filter\":225,\"models/filters/group_filter\":226,\"models/filters/index_filter\":227,\"models/formatters/index\":228,\"models/formatters/func_tick_formatter\":229,\"models/formatters/numeral_tick_formatter\":230,\"models/formatters/printf_tick_formatter\":231,\"models/glyphs/index\":232,\"models/glyphs/annular_wedge\":233,\"models/glyphs/annulus\":234,\"models/glyphs/arc\":235,\"models/glyphs/bezier\":236,\"models/glyphs/circle\":237,\"models/glyphs/webgl/markers\":238,\"models/glyphs/webgl/markers.vert\":239,\"models/glyphs/webgl/markers.frag\":240,\"models/glyphs/center_rotatable\":241,\"models/glyphs/ellipse\":242,\"models/glyphs/ellipse_oval\":243,\"models/glyphs/hbar\":244,\"models/glyphs/box\":245,\"models/glyphs/hex_tile\":246,\"models/glyphs/image\":247,\"models/glyphs/image_base\":248,\"models/glyphs/image_rgba\":249,\"models/glyphs/image_url\":250,\"core/util/image\":251,\"models/glyphs/multi_line\":252,\"models/glyphs/multi_polygons\":253,\"models/glyphs/oval\":254,\"models/glyphs/patches\":255,\"models/glyphs/quad\":256,\"models/glyphs/quadratic\":257,\"models/glyphs/ray\":258,\"models/glyphs/rect\":259,\"models/glyphs/segment\":260,\"models/glyphs/step\":261,\"models/glyphs/text\":262,\"models/glyphs/vbar\":263,\"models/glyphs/wedge\":264,\"models/graphs/index\":265,\"models/graphs/layout_provider\":266,\"models/graphs/static_layout_provider\":267,\"models/grids/index\":268,\"models/grids/grid\":269,\"models/layouts/index\":270,\"models/layouts/box\":271,\"models/layouts/layout_dom\":272,\"styles/root\":273,\"models/layouts/column\":274,\"models/layouts/grid_box\":275,\"models/layouts/html_box\":276,\"models/layouts/row\":277,\"models/layouts/spacer\":278,\"models/layouts/tabs\":279,\"styles/tabs\":280,\"styles/buttons\":281,\"styles/menus\":282,\"styles/buttons.css\":283,\"styles/menus.css\":284,\"styles/tabs.css\":285,\"models/layouts/widget_box\":286,\"models/markers/index\":287,\"models/markers/defs\":288,\"models/markers/marker\":289,\"models/markers/scatter\":290,\"models/plots/index\":291,\"models/plots/gmap_plot\":292,\"models/plots/plot\":293,\"models/tools/toolbar\":294,\"models/tools/inspectors/inspect_tool\":295,\"models/tools/button_tool\":296,\"models/tools/tool\":298,\"styles/toolbar\":299,\"styles/toolbar.css\":300,\"styles/icons.css\":301,\"core/util/menus\":302,\"core/util/iterator\":303,\"models/tools/on_off_button\":304,\"models/tools/toolbar_base\":305,\"models/tools/gestures/gesture_tool\":306,\"models/tools/actions/action_tool\":307,\"models/tools/actions/help_tool\":308,\"styles/icons\":309,\"styles/logo\":310,\"styles/logo.css\":311,\"models/plots/plot_canvas\":312,\"core/bokeh_events\":313,\"core/ui_events\":314,\"core/util/wheel\":315,\"core/util/throttle\":316,\"core/layout/border\":317,\"core/layout/side_panel\":318,\"models/plots/gmap_plot_canvas\":319,\"models/ranges/index\":320,\"models/renderers/index\":321,\"models/scales/index\":322,\"models/selections/index\":323,\"models/sources/index\":324,\"models/sources/server_sent_data_source\":325,\"models/sources/web_data_source\":326,\"models/sources/ajax_data_source\":327,\"models/sources/geojson_data_source\":328,\"models/tickers/index\":329,\"models/tickers/fixed_ticker\":330,\"models/tiles/index\":331,\"models/tiles/bbox_tile_source\":332,\"models/tiles/mercator_tile_source\":333,\"models/tiles/tile_source\":334,\"models/tiles/tile_utils\":335,\"models/tiles/quadkey_tile_source\":336,\"models/tiles/tile_renderer\":337,\"models/tiles/wmts_tile_source\":338,\"styles/tiles\":339,\"styles/tiles.css\":340,\"models/tiles/tms_tile_source\":341,\"models/textures/index\":342,\"models/textures/canvas_texture\":343,\"models/textures/texture\":344,\"models/textures/image_url_texture\":345,\"models/tools/index\":346,\"models/tools/actions/custom_action\":347,\"models/tools/actions/redo_tool\":348,\"models/tools/actions/reset_tool\":349,\"models/tools/actions/save_tool\":350,\"models/tools/actions/undo_tool\":351,\"models/tools/actions/zoom_in_tool\":352,\"models/tools/actions/zoom_base_tool\":353,\"core/util/zoom\":354,\"models/tools/actions/zoom_out_tool\":355,\"models/tools/edit/edit_tool\":356,\"models/tools/edit/box_edit_tool\":357,\"models/tools/edit/freehand_draw_tool\":358,\"models/tools/edit/point_draw_tool\":359,\"models/tools/edit/poly_draw_tool\":360,\"models/tools/edit/poly_tool\":361,\"models/tools/edit/poly_edit_tool\":362,\"models/tools/gestures/box_select_tool\":363,\"models/tools/gestures/select_tool\":364,\"models/tools/util\":365,\"models/tools/gestures/box_zoom_tool\":366,\"models/tools/gestures/lasso_select_tool\":367,\"models/tools/gestures/poly_select_tool\":368,\"models/tools/edit/line_edit_tool\":369,\"models/tools/edit/line_tool\":370,\"models/tools/gestures/pan_tool\":371,\"models/tools/gestures/range_tool\":372,\"models/tools/gestures/tap_tool\":373,\"models/tools/gestures/wheel_pan_tool\":374,\"models/tools/gestures/wheel_zoom_tool\":375,\"models/tools/inspectors/crosshair_tool\":376,\"models/tools/inspectors/customjs_hover\":377,\"models/tools/inspectors/hover_tool\":378,\"models/tools/tool_proxy\":379,\"models/tools/toolbar_box\":380,\"embed/standalone\":381,\"embed/dom\":382,\"embed/server\":383,\"client/connection\":384,\"protocol/message\":385,\"protocol/receiver\":386,\"client/session\":387,\"embed/notebook\":388,\"styles/notebook.css\":389,\"protocol/index\":390,\"testing\":391,\"safely\":392}, {});\n", + " })\n", + "\n", + "\n", + " /* END bokeh.min.js */\n", + " },\n", + " \n", + " function(Bokeh) {\n", + " /* BEGIN bokeh-widgets.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " factory(root[\"Bokeh\"], \"2.2.3\");\n", + " })(this, function(Bokeh, version) {\n", + " var define;\n", + " return (function(modules, entry, aliases, externals) {\n", + " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", + " if (bokeh != null) {\n", + " return bokeh.register_plugin(modules, entry, aliases);\n", + " } else {\n", + " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", + " }\n", + " })\n", + " ({\n", + " 402: function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(1).__importStar(e(403));o.Widgets=r;e(7).register_models(r)},\n", + " 403: function _(r,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});var a=r(404);t.AbstractButton=a.AbstractButton;var o=r(407);t.AbstractIcon=o.AbstractIcon;var u=r(408);t.AutocompleteInput=u.AutocompleteInput;var n=r(413);t.Button=n.Button;var i=r(414);t.CheckboxButtonGroup=i.CheckboxButtonGroup;var v=r(416);t.CheckboxGroup=v.CheckboxGroup;var p=r(418);t.ColorPicker=p.ColorPicker;var c=r(419);t.DatePicker=c.DatePicker;var l=r(422);t.DateRangeSlider=l.DateRangeSlider;var d=r(428);t.DateSlider=d.DateSlider;var I=r(429);t.Div=I.Div;var g=r(433);t.Dropdown=g.Dropdown;var S=r(434);t.FileInput=S.FileInput;var P=r(410);t.InputWidget=P.InputWidget;var k=r(430);t.Markup=k.Markup;var x=r(435);t.MultiSelect=x.MultiSelect;var D=r(436);t.Paragraph=D.Paragraph;var b=r(437);t.PasswordInput=b.PasswordInput;var s=r(438);t.MultiChoice=s.MultiChoice;var h=r(441);t.NumericInput=h.NumericInput;var A=r(444);t.PreText=A.PreText;var B=r(445);t.RadioButtonGroup=B.RadioButtonGroup;var C=r(446);t.RadioGroup=C.RadioGroup;var G=r(447);t.RangeSlider=G.RangeSlider;var R=r(448);t.Select=R.Select;var T=r(449);t.Slider=T.Slider;var M=r(450);t.Spinner=M.Spinner;var m=r(409);t.TextInput=m.TextInput;var w=r(451);t.TextAreaInput=w.TextAreaInput;var W=r(452);t.Toggle=W.Toggle;var _=r(472);t.Widget=_.Widget},\n", + " 404: function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=t(1),s=i.__importStar(t(18)),o=t(72),l=t(115),r=t(405),_=t(281),c=i.__importDefault(t(283));class u extends r.ControlView{*controls(){yield this.button_el}async lazy_initialize(){await super.lazy_initialize();const{icon:t}=this.model;null!=t&&(this.icon_view=await l.build_view(t,{parent:this}))}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render())}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}styles(){return[...super.styles(),c.default]}_render_button(...t){return o.button({type:\"button\",disabled:this.model.disabled,class:[_.bk_btn,_.bk_btn_type(this.model.button_type)]},...t)}render(){super.render(),this.button_el=this._render_button(this.model.label),this.button_el.addEventListener(\"click\",()=>this.click()),null!=this.icon_view&&(o.prepend(this.button_el,this.icon_view.el,o.nbsp()),this.icon_view.render()),this.group_el=o.div({class:_.bk_btn_group},this.button_el),this.el.appendChild(this.group_el)}click(){}}n.AbstractButtonView=u,u.__name__=\"AbstractButtonView\";class a extends r.Control{constructor(t){super(t)}static init_AbstractButton(){this.define({label:[s.String,\"Button\"],icon:[s.Instance],button_type:[s.ButtonType,\"default\"]})}}n.AbstractButton=a,a.__name__=\"AbstractButton\",a.init_AbstractButton()},\n", + " 405: function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const s=e(472),n=e(72);class i extends s.WidgetView{connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,()=>{for(const e of this.controls())n.toggle_attribute(e,\"disabled\",this.model.disabled)})}}o.ControlView=i,i.__name__=\"ControlView\";class l extends s.Widget{constructor(e){super(e)}}o.Control=l,l.__name__=\"Control\"},\n", + " 472: function _(i,e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const o=i(1),n=i(276),r=o.__importStar(i(18));class _ extends n.HTMLBoxView{_width_policy(){return\"horizontal\"==this.model.orientation?super._width_policy():\"fixed\"}_height_policy(){return\"horizontal\"==this.model.orientation?\"fixed\":super._height_policy()}box_sizing(){const i=super.box_sizing();return\"horizontal\"==this.model.orientation?null==i.width&&(i.width=this.model.default_size):null==i.height&&(i.height=this.model.default_size),i}}t.WidgetView=_,_.__name__=\"WidgetView\";class s extends n.HTMLBox{constructor(i){super(i)}static init_Widget(){this.define({orientation:[r.Orientation,\"horizontal\"],default_size:[r.Number,300]}),this.override({margin:[5,5,5,5]})}}t.Widget=s,s.__name__=\"Widget\",s.init_Widget()},\n", + " 407: function _(e,t,c){Object.defineProperty(c,\"__esModule\",{value:!0});const s=e(81),n=e(78);class o extends n.DOMView{}c.AbstractIconView=o,o.__name__=\"AbstractIconView\";class _ extends s.Model{constructor(e){super(e)}}c.AbstractIcon=_,_.__name__=\"AbstractIcon\"},\n", + " 408: function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const i=e(1),s=e(409),h=e(72),_=i.__importStar(e(18)),o=e(10),u=e(173),r=e(282),c=i.__importDefault(e(284));class l extends s.TextInputView{constructor(){super(...arguments),this._open=!1,this._last_value=\"\",this._hover_index=0}styles(){return[...super.styles(),c.default]}render(){super.render(),this.input_el.addEventListener(\"keydown\",e=>this._keydown(e)),this.input_el.addEventListener(\"keyup\",e=>this._keyup(e)),this.menu=h.div({class:[r.bk_menu,u.bk_below]}),this.menu.addEventListener(\"click\",e=>this._menu_click(e)),this.menu.addEventListener(\"mouseover\",e=>this._menu_hover(e)),this.el.appendChild(this.menu),h.undisplay(this.menu)}change_input(){this._open&&this.menu.children.length>0&&(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu())}_update_completions(e){h.empty(this.menu);for(const t of e){const e=h.div({},t);this.menu.appendChild(e)}e.length>0&&this.menu.children[0].classList.add(u.bk_active)}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,h.display(this.menu);const e=t=>{const{target:n}=t;n instanceof HTMLElement&&!this.el.contains(n)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,h.undisplay(this.menu))}_menu_click(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())}_menu_hover(e){if(e.target!=e.currentTarget&&e.target instanceof Element){let t=0;for(t=0;t0&&(this.menu.children[this._hover_index].classList.remove(u.bk_active),this._hover_index=o.clamp(e,0,t-1),this.menu.children[this._hover_index].classList.add(u.bk_active))}_keydown(e){}_keyup(e){switch(e.keyCode){case h.Keys.Enter:this.change_input();break;case h.Keys.Esc:this._hide_menu();break;case h.Keys.Up:this._bump_hover(this._hover_index-1);break;case h.Keys.Down:this._bump_hover(this._hover_index+1);break;default:{const e=this.input_el.value;if(e.lengthe:e=>e.toLowerCase();for(const n of this.model.completions)i(n).startsWith(i(e))&&t.push(n);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}}}}n.AutocompleteInputView=l,l.__name__=\"AutocompleteInputView\";class a extends s.TextInput{constructor(e){super(e)}static init_AutocompleteInput(){this.prototype.default_view=l,this.define({completions:[_.Array,[]],min_characters:[_.Int,2],case_sensitive:[_.Boolean,!0]})}}n.AutocompleteInput=a,a.__name__=\"AutocompleteInput\",a.init_AutocompleteInput()},\n", + " 409: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(410),l=e(72),p=n.__importStar(e(18)),u=e(412);class a extends s.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,()=>this.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.value.change,()=>this.input_el.value=this.model.value),this.connect(this.model.properties.value_input.change,()=>this.input_el.value=this.model.value_input),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled),this.connect(this.model.properties.placeholder.change,()=>this.input_el.placeholder=this.model.placeholder)}render(){super.render(),this.input_el=l.input({type:\"text\",class:u.bk_input,name:this.model.name,value:this.model.value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.input_el.addEventListener(\"input\",()=>this.change_input_oninput()),this.group_el.appendChild(this.input_el)}change_input(){this.model.value=this.input_el.value,super.change_input()}change_input_oninput(){this.model.value_input=this.input_el.value,super.change_input()}}i.TextInputView=a,a.__name__=\"TextInputView\";class h extends s.InputWidget{constructor(e){super(e)}static init_TextInput(){this.prototype.default_view=a,this.define({value:[p.String,\"\"],value_input:[p.String,\"\"],placeholder:[p.String,\"\"]})}}i.TextInput=h,h.__name__=\"TextInput\",h.init_TextInput()},\n", + " 410: function _(t,e,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=t(1),l=t(405),s=t(72),_=n.__importStar(t(18)),o=n.__importDefault(t(411)),r=t(412);class p extends l.ControlView{*controls(){yield this.input_el}connect_signals(){super.connect_signals(),this.connect(this.model.properties.title.change,()=>{this.label_el.textContent=this.model.title})}styles(){return[...super.styles(),o.default]}render(){super.render();const{title:t}=this.model;this.label_el=s.label({style:{display:0==t.length?\"none\":\"\"}},t),this.group_el=s.div({class:r.bk_input_group},this.label_el),this.el.appendChild(this.group_el)}change_input(){}}i.InputWidgetView=p,p.__name__=\"InputWidgetView\";class u extends l.Control{constructor(t){super(t)}static init_InputWidget(){this.define({title:[_.String,\"\"]})}}i.InputWidget=u,u.__name__=\"InputWidget\",u.init_InputWidget()},\n", + " 411: function _(n,o,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root .bk-input {\\n display: inline-block;\\n width: 100%;\\n flex-grow: 1;\\n -webkit-flex-grow: 1;\\n min-height: 31px;\\n padding: 0 12px;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n}\\n.bk-root .bk-input:focus {\\n border-color: #66afe9;\\n outline: 0;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\\n}\\n.bk-root .bk-input::placeholder,\\n.bk-root .bk-input:-ms-input-placeholder,\\n.bk-root .bk-input::-moz-placeholder,\\n.bk-root .bk-input::-webkit-input-placeholder {\\n color: #999;\\n opacity: 1;\\n}\\n.bk-root .bk-input[disabled] {\\n cursor: not-allowed;\\n background-color: #eee;\\n opacity: 1;\\n}\\n.bk-root select:not([multiple]).bk-input,\\n.bk-root select:not([size]).bk-input {\\n height: auto;\\n appearance: none;\\n -webkit-appearance: none;\\n background-image: url(\\'data:image/svg+xml;utf8,\\');\\n background-position: right 0.5em center;\\n background-size: 8px 6px;\\n background-repeat: no-repeat;\\n}\\n.bk-root select[multiple].bk-input,\\n.bk-root select[size].bk-input,\\n.bk-root textarea.bk-input {\\n height: auto;\\n}\\n.bk-root .bk-input-group {\\n width: 100%;\\n height: 100%;\\n display: inline-flex;\\n display: -webkit-inline-flex;\\n flex-wrap: nowrap;\\n -webkit-flex-wrap: nowrap;\\n align-items: start;\\n -webkit-align-items: start;\\n flex-direction: column;\\n -webkit-flex-direction: column;\\n white-space: nowrap;\\n}\\n.bk-root .bk-input-group.bk-inline {\\n flex-direction: row;\\n -webkit-flex-direction: row;\\n}\\n.bk-root .bk-input-group.bk-inline > *:not(:first-child) {\\n margin-left: 5px;\\n}\\n.bk-root .bk-input-group input[type=\"checkbox\"] + span,\\n.bk-root .bk-input-group input[type=\"radio\"] + span {\\n position: relative;\\n top: -2px;\\n margin-left: 3px;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper {\\n display: inherit;\\n width: inherit;\\n height: inherit;\\n position: relative;\\n overflow: hidden;\\n padding: 0;\\n vertical-align: middle;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper input {\\n padding-right: 20px;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn {\\n position: absolute;\\n display: block;\\n height: 50%;\\n min-height: 0;\\n min-width: 0;\\n width: 30px;\\n padding: 0;\\n margin: 0;\\n right: 0;\\n border: none;\\n background: none;\\n cursor: pointer;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn:before {\\n content: \"\";\\n display: inline-block;\\n transform: translateY(-50%);\\n border-left: 5px solid transparent;\\n border-right: 5px solid transparent;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up {\\n top: 0;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:before {\\n border-bottom: 5px solid black;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:disabled:before {\\n border-bottom-color: grey;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down {\\n bottom: 0;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:before {\\n border-top: 5px solid black;\\n}\\n.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:disabled:before {\\n border-top-color: grey;\\n}\\n'},\n", + " 412: function _(u,e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.bk_input=\"bk-input\",n.bk_input_group=\"bk-input-group\"},\n", + " 413: function _(t,e,n){Object.defineProperty(n,\"__esModule\",{value:!0});const o=t(404),i=t(313);class s extends o.AbstractButtonView{click(){this.model.trigger_event(new i.ButtonClick),super.click()}}n.ButtonView=s,s.__name__=\"ButtonView\";class u extends o.AbstractButton{constructor(t){super(t)}static init_Button(){this.prototype.default_view=s,this.override({label:\"Button\"})}}n.Button=u,u.__name__=\"Button\",u.init_Button()},\n", + " 414: function _(t,e,o){Object.defineProperty(o,\"__esModule\",{value:!0});const i=t(1),c=t(415),s=t(72),n=i.__importStar(t(18)),a=t(173);class u extends c.ButtonGroupView{get active(){return new Set(this.model.active)}change_active(t){const{active:e}=this;e.has(t)?e.delete(t):e.add(t),this.model.active=[...e].sort()}_update_active(){const{active:t}=this;this._buttons.forEach((e,o)=>{s.classes(e).toggle(a.bk_active,t.has(o))})}}o.CheckboxButtonGroupView=u,u.__name__=\"CheckboxButtonGroupView\";class r extends c.ButtonGroup{constructor(t){super(t)}static init_CheckboxButtonGroup(){this.prototype.default_view=u,this.define({active:[n.Array,[]]})}}o.CheckboxButtonGroup=r,r.__name__=\"CheckboxButtonGroup\",r.init_CheckboxButtonGroup()},\n", + " 415: function _(t,e,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=t(1),o=t(405),i=t(72),r=n.__importStar(t(18)),_=t(281),u=n.__importDefault(t(283));class a extends o.ControlView{*controls(){yield*this._buttons}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.button_type,()=>this.render()),this.on_change(t.labels,()=>this.render()),this.on_change(t.active,()=>this._update_active())}styles(){return[...super.styles(),u.default]}render(){super.render(),this._buttons=this.model.labels.map((t,e)=>{const s=i.div({class:[_.bk_btn,_.bk_btn_type(this.model.button_type)],disabled:this.model.disabled},t);return s.addEventListener(\"click\",()=>this.change_active(e)),s}),this._update_active();const t=i.div({class:_.bk_btn_group},this._buttons);this.el.appendChild(t)}}s.ButtonGroupView=a,a.__name__=\"ButtonGroupView\";class l extends o.Control{constructor(t){super(t)}static init_ButtonGroup(){this.define({labels:[r.Array,[]],button_type:[r.ButtonType,\"default\"]})}}s.ButtonGroup=l,l.__name__=\"ButtonGroup\",l.init_ButtonGroup()},\n", + " 416: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(417),o=e(72),c=e(9),a=n.__importStar(e(18)),l=e(173),d=e(412);class r extends s.InputGroupView{render(){super.render();const e=o.div({class:[d.bk_input_group,this.model.inline?l.bk_inline:null]});this.el.appendChild(e);const{active:t,labels:i}=this.model;this._inputs=[];for(let n=0;nthis.change_active(n)),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),c.includes(t,n)&&(s.checked=!0);const a=o.label({},s,o.span({},i[n]));e.appendChild(a)}}change_active(e){const t=new Set(this.model.active);t.has(e)?t.delete(e):t.add(e),this.model.active=[...t].sort()}}i.CheckboxGroupView=r,r.__name__=\"CheckboxGroupView\";class p extends s.InputGroup{constructor(e){super(e)}static init_CheckboxGroup(){this.prototype.default_view=r,this.define({active:[a.Array,[]],labels:[a.Array,[]],inline:[a.Boolean,!1]})}}i.CheckboxGroup=p,p.__name__=\"CheckboxGroup\",p.init_CheckboxGroup()},\n", + " 417: function _(e,t,n){Object.defineProperty(n,\"__esModule\",{value:!0});const s=e(1),o=e(405),r=s.__importDefault(e(411));class u extends o.ControlView{*controls(){yield*this._inputs}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render())}styles(){return[...super.styles(),r.default]}}n.InputGroupView=u,u.__name__=\"InputGroupView\";class _ extends o.Control{constructor(e){super(e)}}n.InputGroup=_,_.__name__=\"InputGroup\"},\n", + " 418: function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),o=e(410),s=e(72),l=n.__importStar(e(18)),r=e(412);class c extends o.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,()=>this.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.color.change,()=>this.input_el.value=this.model.color),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled)}render(){super.render(),this.input_el=s.input({type:\"color\",class:r.bk_input,name:this.model.name,value:this.model.color,disabled:this.model.disabled}),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.input_el)}change_input(){this.model.color=this.input_el.value,super.change_input()}}t.ColorPickerView=c,c.__name__=\"ColorPickerView\";class d extends o.InputWidget{constructor(e){super(e)}static init_ColorPicker(){this.prototype.default_view=c,this.define({color:[l.Color,\"#000000\"]})}}t.ColorPicker=d,d.__name__=\"ColorPicker\",d.init_ColorPicker()},\n", + " 419: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=n.__importDefault(e(420)),a=e(410),l=e(72),o=n.__importStar(e(18)),r=e(8),d=e(412),c=n.__importDefault(e(421));function u(e){const t=[];for(const i of e)if(r.isString(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class _ extends a.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:n,enabled_dates:s,position:a,inline:l}=this.model.properties;this.connect(e.change,()=>{var t;return null===(t=this._picker)||void 0===t?void 0:t.setDate(e.value())}),this.connect(t.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"minDate\",t.value())}),this.connect(i.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"maxDate\",i.value())}),this.connect(n.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"disable\",n.value())}),this.connect(s.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"enable\",s.value())}),this.connect(a.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"position\",a.value())}),this.connect(l.change,()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"inline\",l.value())})}remove(){var e;null===(e=this._picker)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),c.default]}render(){null==this._picker&&(super.render(),this.input_el=l.input({type:\"text\",class:d.bk_input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=s.default(this.input_el,{defaultDate:this.model.value,minDate:this.model.min_date,maxDate:this.model.max_date,inline:this.model.inline,position:this.model.position,disable:u(this.model.disabled_dates),enable:u(this.model.enabled_dates),onChange:(e,t,i)=>this._on_change(e,t,i)}))}_on_change(e,t,i){this.model.value=t,this.change_input()}}i.DatePickerView=_,_.__name__=\"DatePickerView\";class h extends a.InputWidget{constructor(e){super(e)}static init_DatePicker(){this.prototype.default_view=_,this.define({value:[o.Any],min_date:[o.Any],max_date:[o.Any],disabled_dates:[o.Any,[]],enabled_dates:[o.Any,[]],position:[o.CalendarPosition,\"auto\"],inline:[o.Boolean,!1]})}}i.DatePicker=h,h.__name__=\"DatePicker\",h.init_DatePicker()},\n", + " 420: function _(e,t,n){\n", + " /* flatpickr v4.6.3, @license MIT */var a,i;a=this,i=function(){\"use strict\";\n", + " /*! *****************************************************************************\n", + " Copyright (c) Microsoft Corporation. All rights reserved.\n", + " Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n", + " this file except in compliance with the License. You may obtain a copy of the\n", + " License at http://www.apache.org/licenses/LICENSE-2.0\n", + " \n", + " THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n", + " KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n", + " WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n", + " MERCHANTABLITY OR NON-INFRINGEMENT.\n", + " \n", + " See the Apache Version 2.0 License for specific language governing permissions\n", + " and limitations under the License.\n", + " ***************************************************************************** */var e=function(){return(e=Object.assign||function(e){for(var t,n=1,a=arguments.length;n\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},a={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return\"th\";switch(t%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},i=function(e){return(\"0\"+e).slice(-2)},o=function(e){return!0===e?1:0};function r(e,t,n){var a;return void 0===n&&(n=!1),function(){var i=this,o=arguments;null!==a&&clearTimeout(a),a=window.setTimeout((function(){a=null,n||e.apply(i,o)}),t),n&&!a&&e.apply(i,o)}}var l=function(e){return e instanceof Array?e:[e]};function c(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function d(e,t,n){var a=window.document.createElement(e);return t=t||\"\",n=n||\"\",a.className=t,void 0!==n&&(a.textContent=n),a}function s(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function u(e,t){var n=d(\"div\",\"numInputWrapper\"),a=d(\"input\",\"numInput \"+e),i=d(\"span\",\"arrowUp\"),o=d(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?a.type=\"number\":(a.type=\"text\",a.pattern=\"\\\\d*\"),void 0!==t)for(var r in t)a.setAttribute(r,t[r]);return n.appendChild(a),n.appendChild(i),n.appendChild(o),n}var f=function(){},m=function(e,t,n){return n.months[t?\"shorthand\":\"longhand\"][e]},g={D:f,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours(parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*o(new RegExp(n.amPM[1],\"i\").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var a=parseInt(t),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+n.firstDayOfWeek),i},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours(parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:f,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:f,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},p={D:\"(\\\\w+)\",F:\"(\\\\w+)\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"(\\\\w+)\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"(\\\\w+)\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},h={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[h.w(e,t,n)]},F:function(e,t,n){return m(h.n(e,t,n)-1,!1,t)},G:function(e,t,n){return i(h.h(e,t,n))},H:function(e){return i(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[o(e.getHours()>11)]},M:function(e,t){return m(e.getMonth(),!0,t)},S:function(e){return i(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(e){return i(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return i(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return i(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},v=function(e){var t=e.config,i=void 0===t?n:t,o=e.l10n,r=void 0===o?a:o;return function(e,t,n){var a=n||r;return void 0!==i.formatDate?i.formatDate(e,t,a):t.split(\"\").map((function(t,n,o){return h[t]&&\"\\\\\"!==o[n-1]?h[t](e,a,i):\"\\\\\"!==t?t:\"\"})).join(\"\")}},D=function(e){var t=e.config,i=void 0===t?n:t,o=e.l10n,r=void 0===o?a:o;return function(e,t,a,o){if(0===e||e){var l,c=o||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if(\"string\"==typeof e){var s=t||(i||n).dateFormat,u=String(e).trim();if(\"today\"===u)l=new Date,a=!0;else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else if(i&&i.parseDate)l=i.parseDate(e,s);else{l=i&&i.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,m=[],h=0,v=0,D=\"\";hr&&(s=n===h.hourElement?s-r-o(!h.amPM):a,f&&Y(void 0,1,h.hourElement)),h.amPM&&u&&(1===l?s+c===23:Math.abs(s-c)>l)&&(h.amPM.textContent=h.l10n.amPM[o(h.amPM.textContent===h.l10n.amPM[0])]),n.value=i(s)}}(e);var t=h._input.value;E(),ve(),h._input.value!==t&&h._debouncedChange()}function E(){if(void 0!==h.hourElement&&void 0!==h.minuteElement){var e,t,n=(parseInt(h.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(h.minuteElement.value,10)||0)%60,i=void 0!==h.secondElement?(parseInt(h.secondElement.value,10)||0)%60:0;void 0!==h.amPM&&(e=n,t=h.amPM.textContent,n=e%12+12*o(t===h.l10n.amPM[1]));var r=void 0!==h.config.minTime||h.config.minDate&&h.minDateHasTime&&h.latestSelectedDateObj&&0===w(h.latestSelectedDateObj,h.config.minDate,!0);if(void 0!==h.config.maxTime||h.config.maxDate&&h.maxDateHasTime&&h.latestSelectedDateObj&&0===w(h.latestSelectedDateObj,h.config.maxDate,!0)){var l=void 0!==h.config.maxTime?h.config.maxTime:h.config.maxDate;(n=Math.min(n,l.getHours()))===l.getHours()&&(a=Math.min(a,l.getMinutes())),a===l.getMinutes()&&(i=Math.min(i,l.getSeconds()))}if(r){var c=void 0!==h.config.minTime?h.config.minTime:h.config.minDate;(n=Math.max(n,c.getHours()))===c.getHours()&&(a=Math.max(a,c.getMinutes())),a===c.getMinutes()&&(i=Math.max(i,c.getSeconds()))}I(n,a,i)}}function T(e){var t=e||h.latestSelectedDateObj;t&&I(t.getHours(),t.getMinutes(),t.getSeconds())}function k(){var e=h.config.defaultHour,t=h.config.defaultMinute,n=h.config.defaultSeconds;if(void 0!==h.config.minDate){var a=h.config.minDate.getHours(),i=h.config.minDate.getMinutes();(e=Math.max(e,a))===a&&(t=Math.max(i,t)),e===a&&t===i&&(n=h.config.minDate.getSeconds())}if(void 0!==h.config.maxDate){var o=h.config.maxDate.getHours(),r=h.config.maxDate.getMinutes();(e=Math.min(e,o))===o&&(t=Math.min(r,t)),e===o&&t===r&&(n=h.config.maxDate.getSeconds())}I(e,t,n)}function I(e,t,n){void 0!==h.latestSelectedDateObj&&h.latestSelectedDateObj.setHours(e%24,t,n||0,0),h.hourElement&&h.minuteElement&&!h.isMobile&&(h.hourElement.value=i(h.config.time_24hr?e:(12+e)%12+12*o(e%12==0)),h.minuteElement.value=i(t),void 0!==h.amPM&&(h.amPM.textContent=h.l10n.amPM[o(e>=12)]),void 0!==h.secondElement&&(h.secondElement.value=i(n)))}function S(e){var t=parseInt(e.target.value)+(e.delta||0);(t/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(t.toString()))&&V(t)}function O(e,t,n,a){return t instanceof Array?t.forEach((function(t){return O(e,t,n,a)})):e instanceof Array?e.forEach((function(e){return O(e,t,n,a)})):(e.addEventListener(t,n,a),void h._handlers.push({element:e,event:t,handler:n,options:a}))}function _(e){return function(t){1===t.which&&e(t)}}function F(){fe(\"onChange\")}function N(e,t){var n=void 0!==e?h.parseDate(e):h.latestSelectedDateObj||(h.config.minDate&&h.config.minDate>h.now?h.config.minDate:h.config.maxDate&&h.config.maxDate=0&&w(e,h.selectedDates[1])<=0}(t)&&!ge(t)&&o.classList.add(\"inRange\"),h.weekNumbers&&1===h.config.showMonths&&\"prevMonthDay\"!==e&&n%7==1&&h.weekNumbers.insertAdjacentHTML(\"beforeend\",\"\"+h.config.getWeek(t)+\"\"),fe(\"onDayCreate\",o),o}function j(e){e.focus(),\"range\"===h.config.mode&&ee(e)}function H(e){for(var t=e>0?0:h.config.showMonths-1,n=e>0?h.config.showMonths:-1,a=t;a!=n;a+=e)for(var i=h.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf(\"hidden\")&&Z(c.dateObj))return c}}function L(e,t){var n=Q(document.activeElement||document.body),a=void 0!==e?e:n?document.activeElement:void 0!==h.selectedDateElem&&Q(h.selectedDateElem)?h.selectedDateElem:void 0!==h.todayDateElem&&Q(h.todayDateElem)?h.todayDateElem:H(t>0?1:-1);return void 0===a?h._input.focus():n?void function(e,t){for(var n=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():h.currentMonth,a=t>0?h.config.showMonths:-1,i=t>0?1:-1,o=n-h.currentMonth;o!=a;o+=i)for(var r=h.daysContainer.children[o],l=n-h.currentMonth===o?e.$i+t:t<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d0?c:-1);d+=i){var s=r.children[d];if(-1===s.className.indexOf(\"hidden\")&&Z(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return j(s)}h.changeMonth(i),L(H(i),0)}(a,t):j(a)}function W(e,t){for(var n=(new Date(e,t,1).getDay()-h.l10n.firstDayOfWeek+7)%7,a=h.utils.getDaysInMonth((t-1+12)%12),i=h.utils.getDaysInMonth(t),o=window.document.createDocumentFragment(),r=h.config.showMonths>1,l=r?\"prevMonthDay hidden\":\"prevMonthDay\",c=r?\"nextMonthDay hidden\":\"nextMonthDay\",s=a+1-n,u=0;s<=a;s++,u++)o.appendChild(A(l,new Date(e,t-1,s),s,u));for(s=1;s<=i;s++,u++)o.appendChild(A(\"\",new Date(e,t,s),s,u));for(var f=i+1;f<=42-n&&(1===h.config.showMonths||u%7!=0);f++,u++)o.appendChild(A(c,new Date(e,t+1,f%i),f,u));var m=d(\"div\",\"dayContainer\");return m.appendChild(o),m}function R(){if(void 0!==h.daysContainer){s(h.daysContainer),h.weekNumbers&&s(h.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t1||\"dropdown\"!==h.config.monthSelectorType)){var e=function(e){return!(void 0!==h.config.minDate&&h.currentYear===h.config.minDate.getFullYear()&&eh.config.maxDate.getMonth())};h.monthsDropdownContainer.tabIndex=-1,h.monthsDropdownContainer.innerHTML=\"\";for(var t=0;t<12;t++)if(e(t)){var n=d(\"option\",\"flatpickr-monthDropdown-month\");n.value=new Date(h.currentYear,t).getMonth().toString(),n.textContent=m(t,h.config.shorthandCurrentMonth,h.l10n),n.tabIndex=-1,h.currentMonth===t&&(n.selected=!0),h.monthsDropdownContainer.appendChild(n)}}}function J(){var e,t=d(\"div\",\"flatpickr-month\"),n=window.document.createDocumentFragment();h.config.showMonths>1||\"static\"===h.config.monthSelectorType?e=d(\"span\",\"cur-month\"):(h.monthsDropdownContainer=d(\"select\",\"flatpickr-monthDropdown-months\"),O(h.monthsDropdownContainer,\"change\",(function(e){var t=e.target,n=parseInt(t.value,10);h.changeMonth(n-h.currentMonth),fe(\"onMonthChange\")})),B(),e=h.monthsDropdownContainer);var a=u(\"cur-year\",{tabindex:\"-1\"}),i=a.getElementsByTagName(\"input\")[0];i.setAttribute(\"aria-label\",h.l10n.yearAriaLabel),h.config.minDate&&i.setAttribute(\"min\",h.config.minDate.getFullYear().toString()),h.config.maxDate&&(i.setAttribute(\"max\",h.config.maxDate.getFullYear().toString()),i.disabled=!!h.config.minDate&&h.config.minDate.getFullYear()===h.config.maxDate.getFullYear());var o=d(\"div\",\"flatpickr-current-month\");return o.appendChild(e),o.appendChild(a),n.appendChild(o),t.appendChild(n),{container:t,yearElement:i,monthElement:e}}function K(){s(h.monthNav),h.monthNav.appendChild(h.prevMonthNav),h.config.showMonths&&(h.yearElements=[],h.monthElements=[]);for(var e=h.config.showMonths;e--;){var t=J();h.yearElements.push(t.yearElement),h.monthElements.push(t.monthElement),h.monthNav.appendChild(t.container)}h.monthNav.appendChild(h.nextMonthNav)}function U(){h.weekdayContainer?s(h.weekdayContainer):h.weekdayContainer=d(\"div\",\"flatpickr-weekdays\");for(var e=h.config.showMonths;e--;){var t=d(\"div\",\"flatpickr-weekdaycontainer\");h.weekdayContainer.appendChild(t)}return q(),h.weekdayContainer}function q(){if(h.weekdayContainer){var e=h.l10n.firstDayOfWeek,t=h.l10n.weekdays.shorthand.slice();e>0&&e\\n \"+t.join(\"\")+\"\\n \\n \"}}function $(e,t){void 0===t&&(t=!0);var n=t?e:e-h.currentMonth;n<0&&!0===h._hidePrevMonthArrow||n>0&&!0===h._hideNextMonthArrow||(h.currentMonth+=n,(h.currentMonth<0||h.currentMonth>11)&&(h.currentYear+=h.currentMonth>11?1:-1,h.currentMonth=(h.currentMonth+12)%12,fe(\"onYearChange\"),B()),R(),fe(\"onMonthChange\"),pe())}function z(e){return!(!h.config.appendTo||!h.config.appendTo.contains(e))||h.calendarContainer.contains(e)}function G(e){if(h.isOpen&&!h.config.inline){var t=\"function\"==typeof(r=e).composedPath?r.composedPath()[0]:r.target,n=z(t),a=t===h.input||t===h.altInput||h.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(h.input)||~e.path.indexOf(h.altInput)),i=\"blur\"===e.type?a&&e.relatedTarget&&!z(e.relatedTarget):!a&&!n&&!z(e.relatedTarget),o=!h.config.ignoredFocusElements.some((function(e){return e.contains(t)}));i&&o&&(void 0!==h.timeContainer&&void 0!==h.minuteElement&&void 0!==h.hourElement&&x(),h.close(),\"range\"===h.config.mode&&1===h.selectedDates.length&&(h.clear(!1),h.redraw()))}var r}function V(e){if(!(!e||h.config.minDate&&eh.config.maxDate.getFullYear())){var t=e,n=h.currentYear!==t;h.currentYear=t||h.currentYear,h.config.maxDate&&h.currentYear===h.config.maxDate.getFullYear()?h.currentMonth=Math.min(h.config.maxDate.getMonth(),h.currentMonth):h.config.minDate&&h.currentYear===h.config.minDate.getFullYear()&&(h.currentMonth=Math.max(h.config.minDate.getMonth(),h.currentMonth)),n&&(h.redraw(),fe(\"onYearChange\"),B())}}function Z(e,t){void 0===t&&(t=!0);var n=h.parseDate(e,void 0,t);if(h.config.minDate&&n&&w(n,h.config.minDate,void 0!==t?t:!h.minDateHasTime)<0||h.config.maxDate&&n&&w(n,h.config.maxDate,void 0!==t?t:!h.maxDateHasTime)>0)return!1;if(0===h.config.enable.length&&0===h.config.disable.length)return!0;if(void 0===n)return!1;for(var a=h.config.enable.length>0,i=a?h.config.enable:h.config.disable,o=0,r=void 0;o=r.from.getTime()&&n.getTime()<=r.to.getTime())return a}return!a}function Q(e){return void 0!==h.daysContainer&&-1===e.className.indexOf(\"hidden\")&&h.daysContainer.contains(e)}function X(e){var t=e.target===h._input,n=h.config.allowInput,a=h.isOpen&&(!n||!t),i=h.config.inline&&t&&!n;if(13===e.keyCode&&t){if(n)return h.setDate(h._input.value,!0,e.target===h.altInput?h.config.altFormat:h.config.dateFormat),e.target.blur();h.open()}else if(z(e.target)||a||i){var o=!!h.timeContainer&&h.timeContainer.contains(e.target);switch(e.keyCode){case 13:o?(e.preventDefault(),x(),le()):ce(e);break;case 27:e.preventDefault(),le();break;case 8:case 46:t&&!h.config.allowInput&&(e.preventDefault(),h.clear());break;case 37:case 39:if(o||t)h.hourElement&&h.hourElement.focus();else if(e.preventDefault(),void 0!==h.daysContainer&&(!1===n||document.activeElement&&Q(document.activeElement))){var r=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),$(r),L(H(1),0)):L(void 0,r)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;h.daysContainer&&void 0!==e.target.$i||e.target===h.input||e.target===h.altInput?e.ctrlKey?(e.stopPropagation(),V(h.currentYear-l),L(H(1),0)):o||L(void 0,7*l):e.target===h.currentYearElement?V(h.currentYear-l):h.config.enableTime&&(!o&&h.hourElement&&h.hourElement.focus(),x(e),h._debouncedChange());break;case 9:if(o){var c=[h.hourElement,h.minuteElement,h.secondElement,h.amPM].concat(h.pluginElements).filter((function(e){return e})),d=c.indexOf(e.target);if(-1!==d){var s=c[d+(e.shiftKey?-1:1)];e.preventDefault(),(s||h._input).focus()}}else!h.config.noCalendar&&h.daysContainer&&h.daysContainer.contains(e.target)&&e.shiftKey&&(e.preventDefault(),h._input.focus())}}if(void 0!==h.amPM&&e.target===h.amPM)switch(e.key){case h.l10n.amPM[0].charAt(0):case h.l10n.amPM[0].charAt(0).toLowerCase():h.amPM.textContent=h.l10n.amPM[0],E(),ve();break;case h.l10n.amPM[1].charAt(0):case h.l10n.amPM[1].charAt(0).toLowerCase():h.amPM.textContent=h.l10n.amPM[1],E(),ve()}(t||z(e.target))&&fe(\"onKeyDown\",e)}function ee(e){if(1===h.selectedDates.length&&(!e||e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\"))){for(var t=e?e.dateObj.getTime():h.days.firstElementChild.dateObj.getTime(),n=h.parseDate(h.selectedDates[0],void 0,!0).getTime(),a=Math.min(t,h.selectedDates[0].getTime()),i=Math.max(t,h.selectedDates[0].getTime()),o=!1,r=0,l=0,c=a;ca&&cr)?r=c:c>n&&(!l||c0&&m0&&m>l;return g?(f.classList.add(\"notAllowed\"),[\"inRange\",\"startRange\",\"endRange\"].forEach((function(e){f.classList.remove(e)})),\"continue\"):o&&!g?\"continue\":([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach((function(e){f.classList.remove(e)})),void(void 0!==e&&(e.classList.add(t<=h.selectedDates[0].getTime()?\"startRange\":\"endRange\"),nt&&m===n&&f.classList.add(\"endRange\"),m>=r&&(0===l||m<=l)&&(d=n,u=t,(c=m)>Math.min(d,u)&&c0||n.getMinutes()>0||n.getSeconds()>0),h.selectedDates&&(h.selectedDates=h.selectedDates.filter((function(e){return Z(e)})),h.selectedDates.length||\"min\"!==e||T(n),ve()),h.daysContainer&&(re(),void 0!==n?h.currentYearElement[e]=n.getFullYear().toString():h.currentYearElement.removeAttribute(e),h.currentYearElement.disabled=!!a&&void 0!==n&&a.getFullYear()===n.getFullYear())}}function ie(){\"object\"!=typeof h.config.locale&&void 0===y.l10ns[h.config.locale]&&h.config.errorHandler(new Error(\"flatpickr: invalid locale \"+h.config.locale)),h.l10n=e({},y.l10ns.default,\"object\"==typeof h.config.locale?h.config.locale:\"default\"!==h.config.locale?y.l10ns[h.config.locale]:void 0),p.K=\"(\"+h.l10n.amPM[0]+\"|\"+h.l10n.amPM[1]+\"|\"+h.l10n.amPM[0].toLowerCase()+\"|\"+h.l10n.amPM[1].toLowerCase()+\")\",void 0===e({},g,JSON.parse(JSON.stringify(f.dataset||{}))).time_24hr&&void 0===y.defaultConfig.time_24hr&&(h.config.time_24hr=h.l10n.time_24hr),h.formatDate=v(h),h.parseDate=D({config:h.config,l10n:h.l10n})}function oe(e){if(void 0!==h.calendarContainer){fe(\"onPreCalendarPosition\");var t=e||h._positionElement,n=Array.prototype.reduce.call(h.calendarContainer.children,(function(e,t){return e+t.offsetHeight}),0),a=h.calendarContainer.offsetWidth,i=h.config.position.split(\" \"),o=i[0],r=i.length>1?i[1]:null,l=t.getBoundingClientRect(),d=window.innerHeight-l.bottom,s=\"above\"===o||\"below\"!==o&&dn,u=window.pageYOffset+l.top+(s?-n-2:t.offsetHeight+2);if(c(h.calendarContainer,\"arrowTop\",!s),c(h.calendarContainer,\"arrowBottom\",s),!h.config.inline){var f=window.pageXOffset+l.left-(null!=r&&\"center\"===r?(a-l.width)/2:0),m=window.document.body.offsetWidth-(window.pageXOffset+l.right),g=f+a>window.document.body.offsetWidth,p=m+a>window.document.body.offsetWidth;if(c(h.calendarContainer,\"rightMost\",g),!h.config.static)if(h.calendarContainer.style.top=u+\"px\",g)if(p){var v=document.styleSheets[0];if(void 0===v)return;var D=window.document.body.offsetWidth,w=Math.max(0,D/2-a/2),b=v.cssRules.length,C=\"{left:\"+l.left+\"px;right:auto;}\";c(h.calendarContainer,\"rightMost\",!1),c(h.calendarContainer,\"centerMost\",!0),v.insertRule(\".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after\"+C,b),h.calendarContainer.style.left=w+\"px\",h.calendarContainer.style.right=\"auto\"}else h.calendarContainer.style.left=\"auto\",h.calendarContainer.style.right=m+\"px\";else h.calendarContainer.style.left=f+\"px\",h.calendarContainer.style.right=\"auto\"}}}function re(){h.config.noCalendar||h.isMobile||(pe(),R())}function le(){h._input.focus(),-1!==window.navigator.userAgent.indexOf(\"MSIE\")||void 0!==navigator.msMaxTouchPoints?setTimeout(h.close,0):h.close()}function ce(e){e.preventDefault(),e.stopPropagation();var t=function e(t,n){return n(t)?t:t.parentNode?e(t.parentNode,n):void 0}(e.target,(function(e){return e.classList&&e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\")&&!e.classList.contains(\"notAllowed\")}));if(void 0!==t){var n=t,a=h.latestSelectedDateObj=new Date(n.dateObj.getTime()),i=(a.getMonth()h.currentMonth+h.config.showMonths-1)&&\"range\"!==h.config.mode;if(h.selectedDateElem=n,\"single\"===h.config.mode)h.selectedDates=[a];else if(\"multiple\"===h.config.mode){var o=ge(a);o?h.selectedDates.splice(parseInt(o),1):h.selectedDates.push(a)}else\"range\"===h.config.mode&&(2===h.selectedDates.length&&h.clear(!1,!1),h.latestSelectedDateObj=a,h.selectedDates.push(a),0!==w(a,h.selectedDates[0],!0)&&h.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()})));if(E(),i){var r=h.currentYear!==a.getFullYear();h.currentYear=a.getFullYear(),h.currentMonth=a.getMonth(),r&&(fe(\"onYearChange\"),B()),fe(\"onMonthChange\")}if(pe(),R(),ve(),h.config.enableTime&&setTimeout((function(){return h.showTimeInput=!0}),50),i||\"range\"===h.config.mode||1!==h.config.showMonths?void 0!==h.selectedDateElem&&void 0===h.hourElement&&h.selectedDateElem&&h.selectedDateElem.focus():j(n),void 0!==h.hourElement&&void 0!==h.hourElement&&h.hourElement.focus(),h.config.closeOnSelect){var l=\"single\"===h.config.mode&&!h.config.enableTime,c=\"range\"===h.config.mode&&2===h.selectedDates.length&&!h.config.enableTime;(l||c)&&le()}F()}}h.parseDate=D({config:h.config,l10n:h.l10n}),h._handlers=[],h.pluginElements=[],h.loadedPlugins=[],h._bind=O,h._setHoursFromDate=T,h._positionCalendar=oe,h.changeMonth=$,h.changeYear=V,h.clear=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0),h.input.value=\"\",void 0!==h.altInput&&(h.altInput.value=\"\"),void 0!==h.mobileInput&&(h.mobileInput.value=\"\"),h.selectedDates=[],h.latestSelectedDateObj=void 0,!0===t&&(h.currentYear=h._initialDate.getFullYear(),h.currentMonth=h._initialDate.getMonth()),h.showTimeInput=!1,!0===h.config.enableTime&&k(),h.redraw(),e&&fe(\"onChange\")},h.close=function(){h.isOpen=!1,h.isMobile||(void 0!==h.calendarContainer&&h.calendarContainer.classList.remove(\"open\"),void 0!==h._input&&h._input.classList.remove(\"active\")),fe(\"onClose\")},h._createElement=d,h.destroy=function(){void 0!==h.config&&fe(\"onDestroy\");for(var e=h._handlers.length;e--;){var t=h._handlers[e];t.element.removeEventListener(t.event,t.handler,t.options)}if(h._handlers=[],h.mobileInput)h.mobileInput.parentNode&&h.mobileInput.parentNode.removeChild(h.mobileInput),h.mobileInput=void 0;else if(h.calendarContainer&&h.calendarContainer.parentNode)if(h.config.static&&h.calendarContainer.parentNode){var n=h.calendarContainer.parentNode;if(n.lastChild&&n.removeChild(n.lastChild),n.parentNode){for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.parentNode.removeChild(n)}}else h.calendarContainer.parentNode.removeChild(h.calendarContainer);h.altInput&&(h.input.type=\"text\",h.altInput.parentNode&&h.altInput.parentNode.removeChild(h.altInput),delete h.altInput),h.input&&(h.input.type=h.input._type,h.input.classList.remove(\"flatpickr-input\"),h.input.removeAttribute(\"readonly\"),h.input.value=\"\"),[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach((function(e){try{delete h[e]}catch(e){}}))},h.isEnabled=Z,h.jumpToDate=N,h.open=function(e,t){if(void 0===t&&(t=h._positionElement),!0===h.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),void 0!==h.mobileInput&&(h.mobileInput.focus(),h.mobileInput.click()),void fe(\"onOpen\");if(!h._input.disabled&&!h.config.inline){var n=h.isOpen;h.isOpen=!0,n||(h.calendarContainer.classList.add(\"open\"),h._input.classList.add(\"active\"),fe(\"onOpen\"),oe(t)),!0===h.config.enableTime&&!0===h.config.noCalendar&&(0===h.selectedDates.length&&ne(),!1!==h.config.allowInput||void 0!==e&&h.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return h.hourElement.select()}),50))}},h.redraw=re,h.set=function(e,n){if(null!==e&&\"object\"==typeof e)for(var a in Object.assign(h.config,e),e)void 0!==de[a]&&de[a].forEach((function(e){return e()}));else h.config[e]=n,void 0!==de[e]?de[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(h.config[e]=l(n));h.redraw(),ve(!1)},h.setDate=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=h.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return h.clear(t);se(e,n),h.showTimeInput=h.selectedDates.length>0,h.latestSelectedDateObj=h.selectedDates[h.selectedDates.length-1],h.redraw(),N(),T(),0===h.selectedDates.length&&h.clear(!1),ve(t),t&&fe(\"onChange\")},h.toggle=function(e){if(!0===h.isOpen)return h.close();h.open(e)};var de={locale:[ie,q],showMonths:[K,M,U],minDate:[N],maxDate:[N]};function se(e,t){var n=[];if(e instanceof Array)n=e.map((function(e){return h.parseDate(e,t)}));else if(e instanceof Date||\"number\"==typeof e)n=[h.parseDate(e,t)];else if(\"string\"==typeof e)switch(h.config.mode){case\"single\":case\"time\":n=[h.parseDate(e,t)];break;case\"multiple\":n=e.split(h.config.conjunction).map((function(e){return h.parseDate(e,t)}));break;case\"range\":n=e.split(h.l10n.rangeSeparator).map((function(e){return h.parseDate(e,t)}))}else h.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));h.selectedDates=n.filter((function(e){return e instanceof Date&&Z(e,!1)})),\"range\"===h.config.mode&&h.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()}))}function ue(e){return e.slice().map((function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?h.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:h.parseDate(e.from,void 0),to:h.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function fe(e,t){if(void 0!==h.config){var n=h.config[e];if(void 0!==n&&n.length>0)for(var a=0;n[a]&&a1||\"static\"===h.config.monthSelectorType?h.monthElements[t].textContent=m(n.getMonth(),h.config.shorthandCurrentMonth,h.l10n)+\" \":h.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()})),h._hidePrevMonthArrow=void 0!==h.config.minDate&&(h.currentYear===h.config.minDate.getFullYear()?h.currentMonth<=h.config.minDate.getMonth():h.currentYearh.config.maxDate.getMonth():h.currentYear>h.config.maxDate.getFullYear()))}function he(e){return h.selectedDates.map((function(t){return h.formatDate(t,e)})).filter((function(e,t,n){return\"range\"!==h.config.mode||h.config.enableTime||n.indexOf(e)===t})).join(\"range\"!==h.config.mode?h.config.conjunction:h.l10n.rangeSeparator)}function ve(e){void 0===e&&(e=!0),void 0!==h.mobileInput&&h.mobileFormatStr&&(h.mobileInput.value=void 0!==h.latestSelectedDateObj?h.formatDate(h.latestSelectedDateObj,h.mobileFormatStr):\"\"),h.input.value=he(h.config.dateFormat),void 0!==h.altInput&&(h.altInput.value=he(h.config.altFormat)),!1!==e&&fe(\"onValueUpdate\")}function De(e){var t=h.prevMonthNav.contains(e.target),n=h.nextMonthNav.contains(e.target);t||n?$(t?-1:1):h.yearElements.indexOf(e.target)>=0?e.target.select():e.target.classList.contains(\"arrowUp\")?h.changeYear(h.currentYear+1):e.target.classList.contains(\"arrowDown\")&&h.changeYear(h.currentYear-1)}return function(){h.element=h.input=f,h.isOpen=!1,function(){var a=[\"wrap\",\"weekNumbers\",\"allowInput\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],i=e({},g,JSON.parse(JSON.stringify(f.dataset||{}))),o={};h.config.parseDate=i.parseDate,h.config.formatDate=i.formatDate,Object.defineProperty(h.config,\"enable\",{get:function(){return h.config._enable},set:function(e){h.config._enable=ue(e)}}),Object.defineProperty(h.config,\"disable\",{get:function(){return h.config._disable},set:function(e){h.config._disable=ue(e)}});var r=\"time\"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var c=y.defaultConfig.dateFormat||n.dateFormat;o.dateFormat=i.noCalendar||r?\"H:i\"+(i.enableSeconds?\":S\":\"\"):c+\" H:i\"+(i.enableSeconds?\":S\":\"\")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var d=y.defaultConfig.altFormat||n.altFormat;o.altFormat=i.noCalendar||r?\"h:i\"+(i.enableSeconds?\":S K\":\" K\"):d+\" h:i\"+(i.enableSeconds?\":S\":\"\")+\" K\"}i.altInputClass||(h.config.altInputClass=h.input.className+\" \"+h.config.altInputClass),Object.defineProperty(h.config,\"minDate\",{get:function(){return h.config._minDate},set:ae(\"min\")}),Object.defineProperty(h.config,\"maxDate\",{get:function(){return h.config._maxDate},set:ae(\"max\")});var s=function(e){return function(t){h.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=h.parseDate(t,\"H:i:S\")}};Object.defineProperty(h.config,\"minTime\",{get:function(){return h.config._minTime},set:s(\"min\")}),Object.defineProperty(h.config,\"maxTime\",{get:function(){return h.config._maxTime},set:s(\"max\")}),\"time\"===i.mode&&(h.config.noCalendar=!0,h.config.enableTime=!0),Object.assign(h.config,o,i);for(var u=0;u-1?h.config[p]=l(m[p]).map(C).concat(h.config[p]):void 0===i[p]&&(h.config[p]=m[p])}fe(\"onParseConfig\")}(),ie(),h.input=h.config.wrap?f.querySelector(\"[data-input]\"):f,h.input?(h.input._type=h.input.type,h.input.type=\"text\",h.input.classList.add(\"flatpickr-input\"),h._input=h.input,h.config.altInput&&(h.altInput=d(h.input.nodeName,h.config.altInputClass),h._input=h.altInput,h.altInput.placeholder=h.input.placeholder,h.altInput.disabled=h.input.disabled,h.altInput.required=h.input.required,h.altInput.tabIndex=h.input.tabIndex,h.altInput.type=\"text\",h.input.setAttribute(\"type\",\"hidden\"),!h.config.static&&h.input.parentNode&&h.input.parentNode.insertBefore(h.altInput,h.input.nextSibling)),h.config.allowInput||h._input.setAttribute(\"readonly\",\"readonly\"),h._positionElement=h.config.positionElement||h._input):h.config.errorHandler(new Error(\"Invalid input element specified\")),function(){h.selectedDates=[],h.now=h.parseDate(h.config.now)||new Date;var e=h.config.defaultDate||(\"INPUT\"!==h.input.nodeName&&\"TEXTAREA\"!==h.input.nodeName||!h.input.placeholder||h.input.value!==h.input.placeholder?h.input.value:null);e&&se(e,h.config.dateFormat),h._initialDate=h.selectedDates.length>0?h.selectedDates[0]:h.config.minDate&&h.config.minDate.getTime()>h.now.getTime()?h.config.minDate:h.config.maxDate&&h.config.maxDate.getTime()0&&(h.latestSelectedDateObj=h.selectedDates[0]),void 0!==h.config.minTime&&(h.config.minTime=h.parseDate(h.config.minTime,\"H:i\")),void 0!==h.config.maxTime&&(h.config.maxTime=h.parseDate(h.config.maxTime,\"H:i\")),h.minDateHasTime=!!h.config.minDate&&(h.config.minDate.getHours()>0||h.config.minDate.getMinutes()>0||h.config.minDate.getSeconds()>0),h.maxDateHasTime=!!h.config.maxDate&&(h.config.maxDate.getHours()>0||h.config.maxDate.getMinutes()>0||h.config.maxDate.getSeconds()>0),Object.defineProperty(h,\"showTimeInput\",{get:function(){return h._showTimeInput},set:function(e){h._showTimeInput=e,h.calendarContainer&&c(h.calendarContainer,\"showTimeInput\",e),h.isOpen&&oe()}})}(),h.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=h.currentMonth),void 0===t&&(t=h.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:h.l10n.daysInMonth[e]}},h.isMobile||function(){var e=window.document.createDocumentFragment();if(h.calendarContainer=d(\"div\",\"flatpickr-calendar\"),h.calendarContainer.tabIndex=-1,!h.config.noCalendar){if(e.appendChild((h.monthNav=d(\"div\",\"flatpickr-months\"),h.yearElements=[],h.monthElements=[],h.prevMonthNav=d(\"span\",\"flatpickr-prev-month\"),h.prevMonthNav.innerHTML=h.config.prevArrow,h.nextMonthNav=d(\"span\",\"flatpickr-next-month\"),h.nextMonthNav.innerHTML=h.config.nextArrow,K(),Object.defineProperty(h,\"_hidePrevMonthArrow\",{get:function(){return h.__hidePrevMonthArrow},set:function(e){h.__hidePrevMonthArrow!==e&&(c(h.prevMonthNav,\"flatpickr-disabled\",e),h.__hidePrevMonthArrow=e)}}),Object.defineProperty(h,\"_hideNextMonthArrow\",{get:function(){return h.__hideNextMonthArrow},set:function(e){h.__hideNextMonthArrow!==e&&(c(h.nextMonthNav,\"flatpickr-disabled\",e),h.__hideNextMonthArrow=e)}}),h.currentYearElement=h.yearElements[0],pe(),h.monthNav)),h.innerContainer=d(\"div\",\"flatpickr-innerContainer\"),h.config.weekNumbers){var t=function(){h.calendarContainer.classList.add(\"hasWeeks\");var e=d(\"div\",\"flatpickr-weekwrapper\");e.appendChild(d(\"span\",\"flatpickr-weekday\",h.l10n.weekAbbreviation));var t=d(\"div\",\"flatpickr-weeks\");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),n=t.weekWrapper,a=t.weekNumbers;h.innerContainer.appendChild(n),h.weekNumbers=a,h.weekWrapper=n}h.rContainer=d(\"div\",\"flatpickr-rContainer\"),h.rContainer.appendChild(U()),h.daysContainer||(h.daysContainer=d(\"div\",\"flatpickr-days\"),h.daysContainer.tabIndex=-1),R(),h.rContainer.appendChild(h.daysContainer),h.innerContainer.appendChild(h.rContainer),e.appendChild(h.innerContainer)}h.config.enableTime&&e.appendChild(function(){h.calendarContainer.classList.add(\"hasTime\"),h.config.noCalendar&&h.calendarContainer.classList.add(\"noCalendar\"),h.timeContainer=d(\"div\",\"flatpickr-time\"),h.timeContainer.tabIndex=-1;var e=d(\"span\",\"flatpickr-time-separator\",\":\"),t=u(\"flatpickr-hour\",{\"aria-label\":h.l10n.hourAriaLabel});h.hourElement=t.getElementsByTagName(\"input\")[0];var n=u(\"flatpickr-minute\",{\"aria-label\":h.l10n.minuteAriaLabel});if(h.minuteElement=n.getElementsByTagName(\"input\")[0],h.hourElement.tabIndex=h.minuteElement.tabIndex=-1,h.hourElement.value=i(h.latestSelectedDateObj?h.latestSelectedDateObj.getHours():h.config.time_24hr?h.config.defaultHour:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(h.config.defaultHour)),h.minuteElement.value=i(h.latestSelectedDateObj?h.latestSelectedDateObj.getMinutes():h.config.defaultMinute),h.hourElement.setAttribute(\"step\",h.config.hourIncrement.toString()),h.minuteElement.setAttribute(\"step\",h.config.minuteIncrement.toString()),h.hourElement.setAttribute(\"min\",h.config.time_24hr?\"0\":\"1\"),h.hourElement.setAttribute(\"max\",h.config.time_24hr?\"23\":\"12\"),h.minuteElement.setAttribute(\"min\",\"0\"),h.minuteElement.setAttribute(\"max\",\"59\"),h.timeContainer.appendChild(t),h.timeContainer.appendChild(e),h.timeContainer.appendChild(n),h.config.time_24hr&&h.timeContainer.classList.add(\"time24hr\"),h.config.enableSeconds){h.timeContainer.classList.add(\"hasSeconds\");var a=u(\"flatpickr-second\");h.secondElement=a.getElementsByTagName(\"input\")[0],h.secondElement.value=i(h.latestSelectedDateObj?h.latestSelectedDateObj.getSeconds():h.config.defaultSeconds),h.secondElement.setAttribute(\"step\",h.minuteElement.getAttribute(\"step\")),h.secondElement.setAttribute(\"min\",\"0\"),h.secondElement.setAttribute(\"max\",\"59\"),h.timeContainer.appendChild(d(\"span\",\"flatpickr-time-separator\",\":\")),h.timeContainer.appendChild(a)}return h.config.time_24hr||(h.amPM=d(\"span\",\"flatpickr-am-pm\",h.l10n.amPM[o((h.latestSelectedDateObj?h.hourElement.value:h.config.defaultHour)>11)]),h.amPM.title=h.l10n.toggleTitle,h.amPM.tabIndex=-1,h.timeContainer.appendChild(h.amPM)),h.timeContainer}()),c(h.calendarContainer,\"rangeMode\",\"range\"===h.config.mode),c(h.calendarContainer,\"animate\",!0===h.config.animate),c(h.calendarContainer,\"multiMonth\",h.config.showMonths>1),h.calendarContainer.appendChild(e);var r=void 0!==h.config.appendTo&&void 0!==h.config.appendTo.nodeType;if((h.config.inline||h.config.static)&&(h.calendarContainer.classList.add(h.config.inline?\"inline\":\"static\"),h.config.inline&&(!r&&h.element.parentNode?h.element.parentNode.insertBefore(h.calendarContainer,h._input.nextSibling):void 0!==h.config.appendTo&&h.config.appendTo.appendChild(h.calendarContainer)),h.config.static)){var l=d(\"div\",\"flatpickr-wrapper\");h.element.parentNode&&h.element.parentNode.insertBefore(l,h.element),l.appendChild(h.element),h.altInput&&l.appendChild(h.altInput),l.appendChild(h.calendarContainer)}h.config.static||h.config.inline||(void 0!==h.config.appendTo?h.config.appendTo:window.document.body).appendChild(h.calendarContainer)}(),function(){if(h.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach((function(e){Array.prototype.forEach.call(h.element.querySelectorAll(\"[data-\"+e+\"]\"),(function(t){return O(t,\"click\",h[e])}))})),h.isMobile)!function(){var e=h.config.enableTime?h.config.noCalendar?\"time\":\"datetime-local\":\"date\";h.mobileInput=d(\"input\",h.input.className+\" flatpickr-mobile\"),h.mobileInput.step=h.input.getAttribute(\"step\")||\"any\",h.mobileInput.tabIndex=1,h.mobileInput.type=e,h.mobileInput.disabled=h.input.disabled,h.mobileInput.required=h.input.required,h.mobileInput.placeholder=h.input.placeholder,h.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",h.selectedDates.length>0&&(h.mobileInput.defaultValue=h.mobileInput.value=h.formatDate(h.selectedDates[0],h.mobileFormatStr)),h.config.minDate&&(h.mobileInput.min=h.formatDate(h.config.minDate,\"Y-m-d\")),h.config.maxDate&&(h.mobileInput.max=h.formatDate(h.config.maxDate,\"Y-m-d\")),h.input.type=\"hidden\",void 0!==h.altInput&&(h.altInput.type=\"hidden\");try{h.input.parentNode&&h.input.parentNode.insertBefore(h.mobileInput,h.input.nextSibling)}catch(e){}O(h.mobileInput,\"change\",(function(e){h.setDate(e.target.value,!1,h.mobileFormatStr),fe(\"onChange\"),fe(\"onClose\")}))}();else{var e=r(te,50);h._debouncedChange=r(F,300),h.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&O(h.daysContainer,\"mouseover\",(function(e){\"range\"===h.config.mode&&ee(e.target)})),O(window.document.body,\"keydown\",X),h.config.inline||h.config.static||O(window,\"resize\",e),void 0!==window.ontouchstart?O(window.document,\"touchstart\",G):O(window.document,\"mousedown\",_(G)),O(window.document,\"focus\",G,{capture:!0}),!0===h.config.clickOpens&&(O(h._input,\"focus\",h.open),O(h._input,\"mousedown\",_(h.open))),void 0!==h.daysContainer&&(O(h.monthNav,\"mousedown\",_(De)),O(h.monthNav,[\"keyup\",\"increment\"],S),O(h.daysContainer,\"mousedown\",_(ce))),void 0!==h.timeContainer&&void 0!==h.minuteElement&&void 0!==h.hourElement&&(O(h.timeContainer,[\"increment\"],x),O(h.timeContainer,\"blur\",x,{capture:!0}),O(h.timeContainer,\"mousedown\",_(P)),O([h.hourElement,h.minuteElement],[\"focus\",\"click\"],(function(e){return e.target.select()})),void 0!==h.secondElement&&O(h.secondElement,\"focus\",(function(){return h.secondElement&&h.secondElement.select()})),void 0!==h.amPM&&O(h.amPM,\"mousedown\",_((function(e){x(e),F()}))))}}(),(h.selectedDates.length||h.config.noCalendar)&&(h.config.enableTime&&T(h.config.noCalendar?h.latestSelectedDateObj||h.config.minDate:void 0),ve(!1)),M(),h.showTimeInput=h.selectedDates.length>0||h.config.noCalendar;var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!h.isMobile&&a&&oe(),fe(\"onReady\")}(),h}function M(e,t){for(var n=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;ithis.render());const{start:s,end:l,value:r,step:o,title:n}=this.model.properties;this.on_change([s,l,r,o],()=>{const{start:t,end:e,value:i,step:s}=this._calc_to();this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s})});const{bar_color:a}=this.model.properties;this.on_change(a,()=>{this._set_bar_color()});const{show_value:d}=this.model.properties;this.on_change([r,n,d],()=>this._update_title())}styles(){return[...super.styles(),h.default,c.default]}_update_title(){r.empty(this.title_el);const t=null==this.model.title||0==this.model.title.length&&!this.model.show_value;if(this.title_el.style.display=t?\"none\":\"\",!t&&(0!=this.model.title.length&&(this.title_el.textContent=this.model.title+\": \"),this.model.show_value)){const{value:t}=this._calc_to(),e=t.map(t=>this.model.pretty(t)).join(\" .. \");this.title_el.appendChild(r.span({class:d.bk_slider_value},e))}}_set_bar_color(){if(!this.model.disabled){this.slider_el.querySelector(\".noUi-connect\").style.backgroundColor=this.model.bar_color}}render(){super.render();const{start:t,end:e,value:i,step:s}=this._calc_to();let n;if(this.model.tooltips){const t={to:t=>this.model.pretty(t)};n=o.repeat(t,i.length)}else n=!1;if(null==this.slider_el){this.slider_el=r.div(),l.create(this.slider_el,{range:{min:t,max:e},start:i,step:s,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:n,orientation:this.model.orientation,direction:this.model.direction}),this.noUiSlider.on(\"slide\",(t,e,i)=>this._slide(i)),this.noUiSlider.on(\"change\",(t,e,i)=>this._change(i));const o=(t,e)=>{if(!n)return;this.slider_el.querySelectorAll(\".noUi-handle\")[t].querySelector(\".noUi-tooltip\").style.display=e?\"block\":\"\"};this.noUiSlider.on(\"start\",(t,e)=>o(e,!0)),this.noUiSlider.on(\"end\",(t,e)=>o(e,!1))}else this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s});this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute(\"disabled\",\"true\"):this.slider_el.removeAttribute(\"disabled\"),this.title_el=r.div({class:d.bk_slider_title}),this._update_title(),this.group_el=r.div({class:_.bk_input_group},this.title_el,this.slider_el),this.el.appendChild(this.group_el)}_slide(t){this.model.value=this._calc_from(t)}_change(t){this.model.value=this._calc_from(t),this.model.value_throttled=this.model.value}}u.__name__=\"AbstractBaseSliderView\";class m extends u{_calc_to(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}}_calc_from([t]){return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(t):t}}i.AbstractSliderView=m,m.__name__=\"AbstractSliderView\";class p extends u{_calc_to(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}}_calc_from(t){return t}}i.AbstractRangeSliderView=p,p.__name__=\"AbstractRangeSliderView\";class b extends n.Control{constructor(t){super(t),this.connected=!1}static init_AbstractSlider(){this.define(({Any:t,Boolean:e,Number:i,String:s,Color:l,Or:r,Enum:o,Ref:n})=>({title:[s,\"\"],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t],step:[i,1],format:[r(s,n(a.TickFormatter))],direction:[o(\"ltr\",\"rtl\"),\"ltr\"],tooltips:[e,!0],bar_color:[l,\"#e6e6e6\"]}))}_formatter(t,e){return\"\"+t}pretty(t){return this._formatter(t,this.format)}}i.AbstractSlider=b,b.__name__=\"AbstractSlider\",b.init_AbstractSlider()},\n", + " 424: function _(t,e,r){\n", + " /*! nouislider - 14.6.0 - 6/27/2020 */\n", + " var n;n=function(){\"use strict\";var t=\"14.6.0\";function e(t){t.parentElement.removeChild(t)}function r(t){return null!=t}function n(t){t.preventDefault()}function i(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function o(t,e,r){r>0&&(u(t,e),setTimeout((function(){c(t,e)}),r))}function s(t){return Math.max(Math.min(t,100),0)}function a(t){return Array.isArray(t)?t:[t]}function l(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function u(t,e){t.classList&&!/\\s/.test(e)?t.classList.add(e):t.className+=\" \"+e}function c(t,e){t.classList&&!/\\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function p(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function f(t,e){return 100/(e-t)}function d(t,e,r){return 100*e/(t[r+1]-t[r])}function h(t,e){for(var r=1;t>=e[r];)r+=1;return r}function m(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=h(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return d(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/f(s,a)}function g(t,e,r,n){if(100===n)return n;var i=h(n,t),o=t[i-1],s=t[i];return r?n-o>(s-o)/2?s:o:e[i-1]?t[i-1]+function(t,e){return Math.round(t/e)*e}(n-t[i-1],e[i-1]):n}function v(t,e,r){var n;if(\"number\"==typeof e&&(e=[e]),!Array.isArray(e))throw new Error(\"noUiSlider (14.6.0): 'range' contains invalid value.\");if(!i(n=\"min\"===t?0:\"max\"===t?100:parseFloat(t))||!i(e[0]))throw new Error(\"noUiSlider (14.6.0): 'range' value isn't numeric.\");r.xPct.push(n),r.xVal.push(e[0]),n?r.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(r.xSteps[0]=e[1]),r.xHighestCompleteStep.push(0)}function b(t,e,r){if(e)if(r.xVal[t]!==r.xVal[t+1]){r.xSteps[t]=d([r.xVal[t],r.xVal[t+1]],e,0)/f(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}else r.xSteps[t]=r.xHighestCompleteStep[t]=r.xVal[t]}function x(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&\"object\"==typeof i[0][0]?i.sort((function(t,e){return t[0][0]-e[0][0]})):i.sort((function(t,e){return t[0]-e[0]})),n=0;nthis.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);s>0;)a=this.xPct[i+1+c]-this.xPct[i+c],e[i+c]*o+100-100*n>100?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,this.xPct.length+c>=1&&c--):(u+=l,this.xPct.length-c>=1&&c++),s=e[i+c]*o;return t+u},x.prototype.toStepping=function(t){return t=m(this.xVal,this.xPct,t)},x.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=h(r,e),i=t[n-1],o=t[n],s=e[n-1];return function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,o],(r-s)*f(s,e[n]))}(this.xVal,this.xPct,t)},x.prototype.getStep=function(t){return t=g(this.xPct,this.xSteps,this.snap,t)},x.prototype.getDefaultStep=function(t,e,r){var n=h(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},x.prototype.getNearbySteps=function(t){var e=h(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},x.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(l);return Math.max.apply(null,t)},x.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var S={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number},w={target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",touchArea:\"touch-area\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",connects:\"connects\",ltr:\"ltr\",rtl:\"rtl\",textDirectionLtr:\"txt-dir-ltr\",textDirectionRtl:\"txt-dir-rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"};function y(t){if(function(t){return\"object\"==typeof t&&\"function\"==typeof t.to&&\"function\"==typeof t.from}(t))return!0;throw new Error(\"noUiSlider (14.6.0): 'format' requires 'to' and 'from' methods.\")}function E(t,e){if(!i(e))throw new Error(\"noUiSlider (14.6.0): 'step' is not numeric.\");t.singleStep=e}function C(t,e){if(!i(e))throw new Error(\"noUiSlider (14.6.0): 'keyboardPageMultiplier' is not numeric.\");t.keyboardPageMultiplier=e}function P(t,e){if(!i(e))throw new Error(\"noUiSlider (14.6.0): 'keyboardDefaultStep' is not numeric.\");t.keyboardDefaultStep=e}function N(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider (14.6.0): 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider (14.6.0): Missing 'min' or 'max' in 'range'.\");if(e.min===e.max)throw new Error(\"noUiSlider (14.6.0): 'range' 'min' and 'max' cannot be equal.\");t.spectrum=new x(e,t.snap,t.singleStep)}function k(t,e){if(e=a(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider (14.6.0): 'start' option is incorrect.\");t.handles=e.length,t.start=e}function U(t,e){if(t.snap=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'snap' option must be a boolean.\")}function A(t,e){if(t.animate=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'animate' option must be a boolean.\")}function V(t,e){if(t.animationDuration=e,\"number\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'animationDuration' option must be a number.\")}function D(t,e){var r,n=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r1)throw new Error(\"noUiSlider (14.6.0): 'padding' option must not exceed 100% of the range.\")}}function H(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider (14.6.0): 'direction' option was not recognized.\")}}function j(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider (14.6.0): 'behaviour' must be a string containing options.\");var r=e.indexOf(\"tap\")>=0,n=e.indexOf(\"drag\")>=0,i=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0,a=e.indexOf(\"unconstrained\")>=0;if(i){if(2!==t.handles)throw new Error(\"noUiSlider (14.6.0): 'fixed' behaviour must be used with 2 handles\");O(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error(\"noUiSlider (14.6.0): 'unconstrained' behaviour cannot be used with margin or limit\");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function F(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var r=0;r0&&((a=M(i,!1)).className=c(s,r.cssClasses.value),a.setAttribute(\"data-value\",o),a.style[r.style]=t+\"%\",a.innerHTML=n.to(o))}}(o,t[o][0],t[o][1])})),i}function B(){h&&(e(h),h=null)}function q(t){B();var e=t.mode,r=t.density||1,n=t.filter||!1,i=function(t,e,r){if(\"range\"===t||\"steps\"===t)return y.xVal;if(\"count\"===t){if(e<2)throw new Error(\"noUiSlider (14.6.0): 'values' (>= 2) required for mode 'count'.\");var n=e-1,i=100/n;for(e=[];n--;)e[n]=n*i;e.push(100),t=\"positions\"}return\"positions\"===t?e.map((function(t){return y.fromStepping(r?y.getStep(t):t)})):\"values\"===t?r?e.map((function(t){return y.fromStepping(y.getStep(y.toStepping(t)))})):e:void 0}(e,t.values||!1,t.stepped||!1),o=function(t,e,r){var n,i={},o=y.xVal[0],s=y.xVal[y.xVal.length-1],a=!1,l=!1,u=0;return n=r.slice().sort((function(t,e){return t-e})),(r=n.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(r.unshift(o),a=!0),r[r.length-1]!==s&&(r.push(s),l=!0),r.forEach((function(n,o){var s,c,p,f,d,h,m,g,v,b,x=n,S=r[o+1],w=\"steps\"===e;if(w&&(s=y.xNumSteps[o]),s||(s=S-x),!1!==x&&void 0!==S)for(s=Math.max(s,1e-7),c=x;c<=S;c=(c+s).toFixed(7)/1){for(g=(d=(f=y.toStepping(c))-u)/t,b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[y.fromStepping(h),0];m=r.indexOf(c)>-1?1:w?2:0,!o&&a&&c!==S&&(m=0),c===S&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}(r,e,i),s=t.format||{to:Math.round};return h=w.appendChild(T(o,n,s))}function X(){var t=l.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||l[e]:t.height||l[e]}function _(t,e,n,i){var o=function(o){return!!(o=function(t,e,r){var n,i,o=0===t.type.indexOf(\"touch\"),s=0===t.type.indexOf(\"mouse\"),a=0===t.type.indexOf(\"pointer\");if(0===t.type.indexOf(\"MSPointer\")&&(a=!0),o){var l=function(t){return t.target===r||r.contains(t.target)||t.target.shadowRoot&&t.target.shadowRoot.contains(r)};if(\"touchstart\"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;n=u[0].pageX,i=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;n=c.pageX,i=c.pageY}}return e=e||p(U),(s||a)&&(n=t.clientX+e.x,i=t.clientY+e.y),t.pageOffset=e,t.points=[n,i],t.cursor=s||a,t}(o,i.pageOffset,i.target||e))&&!(H()&&!i.doNotReject)&&(s=w,a=r.cssClasses.tap,!((s.classList?s.classList.contains(a):new RegExp(\"\\\\b\"+a+\"\\\\b\").test(s.className))&&!i.doNotReject)&&!(t===x.start&&void 0!==o.buttons&&o.buttons>1)&&(!i.hover||!o.buttons)&&(S||o.preventDefault(),o.calcPoint=o.points[r.ort],void n(o,i)));var s,a},s=[];return t.split(\" \").forEach((function(t){e.addEventListener(t,o,!!S&&{passive:!0}),s.push([t,o])})),s}function I(t){var e,n,i,o,a,u,c=100*(t-(e=l,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,a=o.documentElement,u=p(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(u.x=0),n?i.top+u.y-a.clientTop:i.left+u.x-a.clientLeft))/X();return c=s(c),r.dir?100-c:c}function W(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&G(t,e)}function $(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return G(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);it(n>0,100*n/e.baseSize,e.locations,e.handleNumbers)}function G(t,e){e.handle&&(c(e.handle,r.cssClasses.active),N-=1),e.listeners.forEach((function(t){A.removeEventListener(t[0],t[1])})),0===N&&(c(w,r.cssClasses.drag),st(),t.cursor&&(V.style.cursor=\"\",V.removeEventListener(\"selectstart\",n))),e.handleNumbers.forEach((function(t){et(\"change\",t),et(\"set\",t),et(\"end\",t)}))}function J(t,e){if(e.handleNumbers.some(j))return!1;var i;1===e.handleNumbers.length&&(i=f[e.handleNumbers[0]].children[0],N+=1,u(i,r.cssClasses.active)),t.stopPropagation();var o=[],s=_(x.move,A,$,{target:t.target,handle:i,listeners:o,startCalcPoint:t.calcPoint,baseSize:X(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:C.slice()}),a=_(x.end,A,G,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers}),l=_(\"mouseout\",A,W,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers});o.push.apply(o,s.concat(a,l)),t.cursor&&(V.style.cursor=getComputedStyle(t.target).cursor,f.length>1&&u(w,r.cssClasses.drag),V.addEventListener(\"selectstart\",n,!1)),e.handleNumbers.forEach((function(t){et(\"start\",t)}))}function K(t){if(!t.buttons&&!t.touches)return!1;t.stopPropagation();var e=I(t.calcPoint),n=function(t){var e=100,r=!1;return f.forEach((function(n,i){if(!j(i)){var o=C[i],s=Math.abs(o-t);(so||100===s&&100===e)&&(r=i,e=s)}})),r}(e);if(!1===n)return!1;r.events.snap||o(w,r.cssClasses.tap,r.animationDuration),at(n,e,!0,!0),st(),et(\"slide\",n,!0),et(\"update\",n,!0),et(\"change\",n,!0),et(\"set\",n,!0),r.events.snap&&J(t,{handleNumbers:[n]})}function Q(t){var e=I(t.calcPoint),r=y.getStep(e),n=y.fromStepping(r);Object.keys(k).forEach((function(t){\"hover\"===t.split(\".\")[0]&&k[t].forEach((function(t){t.call(g,n)}))}))}function Z(t,e){k[t]=k[t]||[],k[t].push(e),\"update\"===t.split(\".\")[0]&&f.forEach((function(t,e){et(\"update\",e)}))}function tt(t){var e=t&&t.split(\".\")[0],r=e&&t.substring(e.length);Object.keys(k).forEach((function(t){var n=t.split(\".\")[0],i=t.substring(n.length);e&&e!==n||r&&r!==i||delete k[t]}))}function et(t,e,n){Object.keys(k).forEach((function(i){var o=i.split(\".\")[0];t===o&&k[i].forEach((function(t){t.call(g,E.map(r.format.to),e,E.slice(),n||!1,C.slice(),g)}))}))}function rt(t,e,n,i,o,a){var l;return f.length>1&&!r.events.unconstrained&&(i&&e>0&&(l=y.getAbsoluteDistance(t[e-1],r.margin,0),n=Math.max(n,l)),o&&e1&&r.limit&&(i&&e>0&&(l=y.getAbsoluteDistance(t[e-1],r.limit,0),n=Math.min(n,l)),o&&e1?n.forEach((function(t,r){var n=rt(i,t,i[t]+e,o[r],s[r],!1);!1===n?e=0:(e=n-i[t],i[t]=n)})):o=s=[!0];var a=!1;n.forEach((function(t,n){a=at(t,r[t]+e,o[n],s[n])||a})),a&&n.forEach((function(t){et(\"update\",t),et(\"slide\",t)}))}function ot(t,e){return r.dir?100-t-e:t}function st(){P.forEach((function(t){var e=C[t]>50?-1:1,r=3+(f.length+e*t);f[t].style.zIndex=r}))}function at(t,e,n,i){return!1!==(e=rt(C,t,e,n,i,!1))&&(function(t,e){C[t]=e,E[t]=y.fromStepping(e);var n=\"translate(\"+nt(10*(ot(e,0)-D)+\"%\",\"0\")+\")\";f[t].style[r.transformRule]=n,lt(t),lt(t+1)}(t,e),!0)}function lt(t){if(d[t]){var e=0,n=100;0!==t&&(e=C[t-1]),t!==d.length-1&&(n=C[t]);var i=n-e,o=\"translate(\"+nt(ot(e,i)+\"%\",\"0\")+\")\",s=\"scale(\"+nt(i/100,\"1\")+\")\";d[t].style[r.transformRule]=o+\" \"+s}}function ut(t,e){return null===t||!1===t||void 0===t?C[e]:(\"number\"==typeof t&&(t=String(t)),t=r.format.from(t),!1===(t=y.toStepping(t))||isNaN(t)?C[e]:t)}function ct(t,e){var n=a(t),i=void 0===C[0];e=void 0===e||!!e,r.animate&&!i&&o(w,r.cssClasses.tap,r.animationDuration),P.forEach((function(t){at(t,ut(n[t],t),!0,!1)}));for(var s=1===P.length?0:1;sn.stepAfter.startValue&&(o=n.stepAfter.startValue-i),s=i>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&i-n.stepBefore.highestStep,100===e?o=null:0===e&&(s=null);var a=y.countStepDecimals();return null!==o&&!1!==o&&(o=Number(o.toFixed(a))),null!==s&&!1!==s&&(s=Number(s.toFixed(a))),[s,o]}return u(v=w,r.cssClasses.target),0===r.dir?u(v,r.cssClasses.ltr):u(v,r.cssClasses.rtl),0===r.ort?u(v,r.cssClasses.horizontal):u(v,r.cssClasses.vertical),u(v,\"rtl\"===getComputedStyle(v).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),l=M(v,r.cssClasses.base),function(t,e){var n=M(e,r.cssClasses.connects);f=[],(d=[]).push(L(n,t[0]));for(var i=0;i=0&&t .noUi-tooltip {\\n -webkit-transform: translate(50%, 0);\\n transform: translate(50%, 0);\\n left: auto;\\n bottom: 10px;\\n}\\n.bk-root .noUi-vertical .noUi-origin > .noUi-tooltip {\\n -webkit-transform: translate(0, -18px);\\n transform: translate(0, -18px);\\n top: auto;\\n right: 28px;\\n}\\n.bk-root .noUi-handle {\\n cursor: grab;\\n cursor: -webkit-grab;\\n}\\n.bk-root .noUi-handle.noUi-active {\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n}\\n.bk-root .noUi-handle:after,\\n.bk-root .noUi-handle:before {\\n display: none;\\n}\\n.bk-root .noUi-tooltip {\\n display: none;\\n white-space: nowrap;\\n}\\n.bk-root .noUi-handle:hover .noUi-tooltip {\\n display: block;\\n}\\n.bk-root .noUi-horizontal {\\n width: 100%;\\n height: 10px;\\n}\\n.bk-root .noUi-vertical {\\n width: 10px;\\n height: 100%;\\n}\\n.bk-root .noUi-horizontal .noUi-handle {\\n width: 14px;\\n height: 18px;\\n right: -7px;\\n top: -5px;\\n}\\n.bk-root .noUi-vertical .noUi-handle {\\n width: 18px;\\n height: 14px;\\n right: -5px;\\n top: -7px;\\n}\\n.bk-root .noUi-target.noUi-horizontal {\\n margin: 5px 0px;\\n}\\n.bk-root .noUi-target.noUi-vertical {\\n margin: 0px 5px;\\n}\\n\"},\n", + " 427: function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default=\"\\n.bk-root .bk-slider-title {\\n white-space: nowrap;\\n}\\n.bk-root .bk-slider-value {\\n font-weight: 600;\\n}\\n\"},\n", + " 428: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1).__importDefault(e(186)),a=e(423);class d extends a.AbstractSliderView{}i.DateSliderView=d,d.__name__=\"DateSliderView\";class s extends a.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}static init_DateSlider(){this.prototype.default_view=d,this.override({format:\"%d %b %Y\"})}_formatter(e,t){return r.default(e,t)}}i.DateSlider=s,s.__name__=\"DateSlider\",s.init_DateSlider()},\n", + " 429: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const r=e(1),_=e(430),n=r.__importStar(e(18));class s extends _.MarkupView{render(){super.render(),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.model.text}}i.DivView=s,s.__name__=\"DivView\";class a extends _.Markup{constructor(e){super(e)}static init_Div(){this.prototype.default_view=s,this.define({render_as_text:[n.Boolean,!1]})}}i.Div=a,a.__name__=\"Div\",a.init_Div()},\n", + " 430: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),a=e(217),n=e(72),l=i.__importStar(e(18)),r=e(472),_=e(431),c=i.__importDefault(e(432));class u extends r.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>{this.layout.invalidate_cache(),this.render(),this.root.compute_layout()})}styles(){return[...super.styles(),c.default]}_update_layout(){this.layout=new a.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render();const e=Object.assign(Object.assign({},this.model.style),{display:\"inline-block\"});this.markup_el=n.div({class:_.bk_clearfix,style:e}),this.el.appendChild(this.markup_el)}}s.MarkupView=u,u.__name__=\"MarkupView\";class o extends r.Widget{constructor(e){super(e)}static init_Markup(){this.define({text:[l.String,\"\"],style:[l.Any,{}]})}}s.Markup=o,o.__name__=\"Markup\",o.init_Markup()},\n", + " 431: function _(e,c,f){Object.defineProperty(f,\"__esModule\",{value:!0}),f.bk_clearfix=\"bk-clearfix\"},\n", + " 432: function _(e,n,t){Object.defineProperty(t,\"__esModule\",{value:!0});t.default='\\n.bk-root .bk-clearfix:before,\\n.bk-root .bk-clearfix:after {\\n content: \"\";\\n display: table;\\n}\\n.bk-root .bk-clearfix:after {\\n clear: both;\\n}\\n'},\n", + " 433: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(404),o=e(313),_=e(72),d=n.__importStar(e(18)),l=e(8),r=e(173),u=e(281),c=e(282),h=n.__importDefault(e(284));class p extends s.AbstractButtonView{constructor(){super(...arguments),this._open=!1}styles(){return[...super.styles(),h.default]}render(){super.render();const e=_.div({class:[c.bk_caret,r.bk_down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(u.bk_dropdown_toggle),t.addEventListener(\"click\",()=>this._toggle_menu()),this.group_el.appendChild(t)}else this.button_el.appendChild(e);const t=this.model.menu.map((e,t)=>{if(null==e)return _.div({class:c.bk_divider});{const i=l.isString(e)?e:e[0],n=_.div({},i);return n.addEventListener(\"click\",()=>this._item_click(t)),n}});this.menu=_.div({class:[c.bk_menu,r.bk_below]},t),this.el.appendChild(this.menu),_.undisplay(this.menu)}_show_menu(){if(!this._open){this._open=!0,_.display(this.menu);const e=t=>{const{target:i}=t;i instanceof HTMLElement&&!this.el.contains(i)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,_.undisplay(this.menu))}_toggle_menu(){this._open?this._hide_menu():this._show_menu()}click(){this.model.is_split?(this._hide_menu(),this.model.trigger_event(new o.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=l.isString(t)?t:t[1];l.isString(i)?this.model.trigger_event(new o.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=p,p.__name__=\"DropdownView\";class m extends s.AbstractButton{constructor(e){super(e)}static init_Dropdown(){this.prototype.default_view=p,this.define({split:[d.Boolean,!1],menu:[d.Array,[]]}),this.override({label:\"Dropdown\"})}get is_split(){return this.split}}i.Dropdown=m,m.__name__=\"Dropdown\",m.init_Dropdown()},\n", + " 434: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const l=e(1).__importStar(e(18)),s=e(472);class n extends s.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render()),this.connect(this.model.properties.width.change,()=>this.render())}render(){null==this.dialogEl&&(this.dialogEl=document.createElement(\"input\"),this.dialogEl.type=\"file\",this.dialogEl.multiple=this.model.multiple,this.dialogEl.onchange=()=>{const{files:e}=this.dialogEl;null!=e&&this.load_files(e)},this.el.appendChild(this.dialogEl)),null!=this.model.accept&&\"\"!=this.model.accept&&(this.dialogEl.accept=this.model.accept),this.dialogEl.style.width=\"{this.model.width}px\",this.dialogEl.disabled=this.model.disabled}async load_files(e){const t=[],i=[],l=[];let s;for(s=0;s{const l=new FileReader;l.onload=()=>{var s;const{result:n}=l;null!=n?t(n):i(null!==(s=l.error)&&void 0!==s?s:new Error(`unable to read '${e.name}'`))},l.readAsDataURL(e)})}}i.FileInputView=n,n.__name__=\"FileInputView\";class o extends s.Widget{constructor(e){super(e)}static init_FileInput(){this.prototype.default_view=n,this.define({value:[l.Any,\"\"],mime_type:[l.Any,\"\"],filename:[l.Any,\"\"],accept:[l.String,\"\"],multiple:[l.Boolean,!1]})}}i.FileInput=o,o.__name__=\"FileInput\",o.init_FileInput()},\n", + " 435: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const i=e(1),n=e(72),l=e(8),o=i.__importStar(e(18)),c=e(410),r=e(412);class h extends c.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.value.change,()=>this.render_selection()),this.connect(this.model.properties.options.change,()=>this.render()),this.connect(this.model.properties.name.change,()=>this.render()),this.connect(this.model.properties.title.change,()=>this.render()),this.connect(this.model.properties.size.change,()=>this.render()),this.connect(this.model.properties.disabled.change,()=>this.render())}render(){super.render();const e=this.model.options.map(e=>{let t,s;return l.isString(e)?t=s=e:[t,s]=e,n.option({value:t},s)});this.select_el=n.select({multiple:!0,class:r.bk_input,name:this.model.name,disabled:this.model.disabled},e),this.select_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.select_el),this.render_selection()}render_selection(){const e=new Set(this.model.value);for(const t of this.el.querySelectorAll(\"option\"))t.selected=e.has(t.value);this.select_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.select_el.focus()}}s.MultiSelectView=h,h.__name__=\"MultiSelectView\";class d extends c.InputWidget{constructor(e){super(e)}static init_MultiSelect(){this.prototype.default_view=h,this.define({value:[o.Array,[]],options:[o.Array,[]],size:[o.Number,4]})}}s.MultiSelect=d,d.__name__=\"MultiSelect\",d.init_MultiSelect()},\n", + " 436: function _(a,e,r){Object.defineProperty(r,\"__esModule\",{value:!0});const t=a(430),p=a(72);class s extends t.MarkupView{render(){super.render();const a=p.p({style:{margin:0}},this.model.text);this.markup_el.appendChild(a)}}r.ParagraphView=s,s.__name__=\"ParagraphView\";class i extends t.Markup{constructor(a){super(a)}static init_Paragraph(){this.prototype.default_view=s}}r.Paragraph=i,i.__name__=\"Paragraph\",i.init_Paragraph()},\n", + " 437: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});const n=e(409);class r extends n.TextInputView{render(){super.render(),this.input_el.type=\"password\"}}s.PasswordInputView=r,r.__name__=\"PasswordInputView\";class p extends n.TextInput{constructor(e){super(e)}static init_PasswordInput(){this.prototype.default_view=r}}s.PasswordInput=p,p.__name__=\"PasswordInput\",p.init_PasswordInput()},\n", + " 438: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const l=e(1),s=l.__importDefault(e(439)),o=e(72),n=e(8),h=e(217),a=l.__importStar(e(18)),c=e(412),u=l.__importDefault(e(440)),d=e(410);class _ extends d.InputWidgetView{constructor(){super(...arguments),this._last_height=null}connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled.change,()=>this.set_disabled());const{value:e,max_items:t,option_limit:i,delete_button:l,placeholder:s,options:o,name:n,title:h}=this.model.properties;this.on_change([e,t,i,l,s,o,n,h],()=>this.render())}styles(){return[...super.styles(),u.default]}_update_layout(){this.layout=new h.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render(),this.select_el=o.select({multiple:!0,class:c.bk_input,name:this.model.name,disabled:this.model.disabled}),this.group_el.appendChild(this.select_el);const e=new Set(this.model.value),t=this.model.options.map(t=>{let i,l;return n.isString(t)?i=l=t:[i,l]=t,{value:i,label:l,selected:e.has(i)}}),i=this.model.solid?\"solid\":\"light\",l=\"choices__item \"+i,h=\"choices__button \"+i,a={choices:t,duplicateItemsAllowed:!1,removeItemButton:this.model.delete_button,classNames:{item:l,button:h}};null!=this.model.placeholder&&(a.placeholderValue=this.model.placeholder),null!=this.model.max_items&&(a.maxItemCount=this.model.max_items),null!=this.model.option_limit&&(a.renderChoiceLimit=this.model.option_limit),this.choice_el=new s.default(this.select_el,a);const u=()=>this.choice_el.containerOuter.element.getBoundingClientRect().height;null!=this._last_height&&this._last_height!=u()&&this.root.invalidate_layout(),this._last_height=u(),this.select_el.addEventListener(\"change\",()=>this.change_input())}set_disabled(){this.model.disabled?this.choice_el.disable():this.choice_el.enable()}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.select_el.focus()}}i.MultiChoiceView=_,_.__name__=\"MultiChoiceView\";class r extends d.InputWidget{constructor(e){super(e)}static init_MultiChoice(){this.prototype.default_view=_,this.define({value:[a.Array,[]],options:[a.Array,[]],max_items:[a.Number,null],delete_button:[a.Boolean,!0],placeholder:[a.String,null],option_limit:[a.Number,null],solid:[a.Boolean,!0]})}}i.MultiChoice=r,r.__name__=\"MultiChoice\",r.init_MultiChoice()},\n", + " 439: function _(e,t,i){\n", + " /*! choices.js v9.0.1 | © 2019 Josh Johnson | https://github.com/jshjohnson/Choices#readme */\n", + " var n,s;n=window,s=function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/public/assets/scripts/\",i(i.s=4)}([function(e,t,i){\"use strict\";var n=function(e){return function(e){return!!e&&\"object\"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return\"[object RegExp]\"===t||\"[object Date]\"===t||function(e){return e.$$typeof===s}(e)}(e)},s=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function o(e,t,i){return e.concat(t).map((function(e){return r(e,i)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function c(e,t,i){var n={};return i.isMergeableObject(e)&&a(e).forEach((function(t){n[t]=r(e[t],i)})),a(t).forEach((function(s){(function(e,t){try{return t in e&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}catch(e){return!1}})(e,s)||(i.isMergeableObject(t[s])&&e[s]?n[s]=function(e,t){if(!t.customMerge)return l;var i=t.customMerge(e);return\"function\"==typeof i?i:l}(s,i)(e[s],t[s],i):n[s]=r(t[s],i))})),n}function l(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||o,i.isMergeableObject=i.isMergeableObject||n,i.cloneUnlessOtherwiseSpecified=r;var s=Array.isArray(t);return s===Array.isArray(e)?s?i.arrayMerge(e,t,i):c(e,t,i):r(t,i)}l.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce((function(e,i){return l(e,i,t)}),{})};var h=l;e.exports=h},function(e,t,i){\"use strict\";(function(e,n){var s,r=i(3);s=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==e?e:n;var o=Object(r.a)(s);t.a=o}).call(this,i(5),i(6)(e))},function(e,t,i){\n", + " /*!\n", + " * Fuse.js v3.4.5 - Lightweight fuzzy-search (http://fusejs.io)\n", + " *\n", + " * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)\n", + " * All Rights Reserved. Apache Software License 2.0\n", + " *\n", + " * http://www.apache.org/licenses/LICENSE-2.0\n", + " */\n", + " e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=1)}([function(e,t){e.exports=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)}},function(e,t,i){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{limit:!1};this._log('---------\\nSearch pattern: \"'.concat(e,'\"'));var i=this._prepareSearchers(e),n=i.tokenSearchers,s=i.fullSearcher,r=this._search(n,s),o=r.weights,a=r.results;return this._computeScore(o,a),this.options.shouldSort&&this._sort(a),t.limit&&\"number\"==typeof t.limit&&(a=a.slice(0,t.limit)),this._format(a)}},{key:\"_prepareSearchers\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=[];if(this.options.tokenize)for(var i=e.split(this.options.tokenSeparator),n=0,s=i.length;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,i=this.list,n={},s=[];if(\"string\"==typeof i[0]){for(var r=0,o=i.length;r1)throw new Error(\"Key weight has to be > 0 and <= 1\");p=p.name}else a[p]={weight:1};this._analyze({key:p,value:this.options.getFn(h,p),record:h,index:c},{resultMap:n,results:s,tokenSearchers:e,fullSearcher:t})}return{weights:a,results:s}}},{key:\"_analyze\",value:function(e,t){var i=e.key,n=e.arrayIndex,s=void 0===n?-1:n,r=e.value,o=e.record,c=e.index,l=t.tokenSearchers,h=void 0===l?[]:l,u=t.fullSearcher,d=void 0===u?[]:u,p=t.resultMap,m=void 0===p?{}:p,f=t.results,v=void 0===f?[]:f;if(null!=r){var g=!1,_=-1,b=0;if(\"string\"==typeof r){this._log(\"\\nKey: \".concat(\"\"===i?\"-\":i));var y=d.search(r);if(this._log('Full text: \"'.concat(r,'\", score: ').concat(y.score)),this.options.tokenize){for(var E=r.split(this.options.tokenSeparator),I=[],S=0;S-1&&(P=(P+_)/2),this._log(\"Score average:\",P);var D=!this.options.tokenize||!this.options.matchAllTokens||b>=h.length;if(this._log(\"\\nCheck Matches: \".concat(D)),(g||y.isMatch)&&D){var M=m[c];M?M.output.push({key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}):(m[c]={item:o,output:[{key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}]},v.push(m[c]))}}else if(a(r))for(var N=0,F=r.length;N-1&&(o.arrayIndex=r.arrayIndex),t.matches.push(o)}}})),this.options.includeScore&&s.push((function(e,t){t.score=e.score}));for(var r=0,o=e.length;ri)return s(e,this.pattern,n);var o=this.options,a=o.location,c=o.distance,l=o.threshold,h=o.findAllMatches,u=o.minMatchCharLength;return r(e,this.pattern,this.patternAlphabet,{location:a,distance:c,threshold:l,findAllMatches:h,minMatchCharLength:u})}}])&&n(t.prototype,i),e}();e.exports=a},function(e,t){var i=/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;e.exports=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,s=new RegExp(t.replace(i,\"\\\\$&\").replace(n,\"|\")),r=e.match(s),o=!!r,a=[];if(o)for(var c=0,l=r.length;c=P;N-=1){var F=N-1,j=i[e.charAt(F)];if(j&&(E[F]=1),M[N]=(M[N+1]<<1|1)&j,0!==T&&(M[N]|=(O[N+1]|O[N])<<1|1|O[N+1]),M[N]&L&&(C=n(t,{errors:T,currentLocation:F,expectedLocation:v,distance:l}))<=_){if(_=C,(b=F)<=v)break;P=Math.max(1,2*v-b)}}if(n(t,{errors:T+1,currentLocation:v,expectedLocation:v,distance:l})>_)break;O=M}return{isMatch:b>=0,score:0===C?.001:C,matchedIndices:s(E,f)}}},function(e,t){e.exports=function(e,t){var i=t.errors,n=void 0===i?0:i,s=t.currentLocation,r=void 0===s?0:s,o=t.expectedLocation,a=void 0===o?0:o,c=t.distance,l=void 0===c?100:c,h=n/e.length,u=Math.abs(a-r);return l?h+u/l:u?1:h}},function(e,t){e.exports=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=[],n=-1,s=-1,r=0,o=e.length;r=t&&i.push([n,s]),n=-1)}return e[r-1]&&r-n>=t&&i.push([n,r-1]),i}},function(e,t){e.exports=function(e){for(var t={},i=e.length,n=0;n/g,\"&rt;\").replace(/-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!0),i})):e;case\"REMOVE_ITEM\":return t.choiceId>-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!1),i})):e;case\"FILTER_CHOICES\":return e.map((function(e){var i=e;return i.active=t.results.some((function(e){var t=e.item,n=e.score;return t.id===i.id&&(i.score=n,!0)})),i}));case\"ACTIVATE_CHOICES\":return e.map((function(e){var i=e;return i.active=t.active,i}));case\"CLEAR_CHOICES\":return v;default:return e}},general:_}),A=function(e,t){var i=e;if(\"CLEAR_ALL\"===t.type)i=void 0;else if(\"RESET_TO\"===t.type)return O(t.state);return C(i,t)};function L(e,t){for(var i=0;i\"'+I(e)+'\"'},maxItemText:function(e){return\"Only \"+e+\" values can be added\"},valueComparer:function(e,t){return e===t},fuseOptions:{includeScore:!0},callbackOnInit:null,callbackOnCreateTemplates:null,classNames:{containerOuter:\"choices\",containerInner:\"choices__inner\",input:\"choices__input\",inputCloned:\"choices__input--cloned\",list:\"choices__list\",listItems:\"choices__list--multiple\",listSingle:\"choices__list--single\",listDropdown:\"choices__list--dropdown\",item:\"choices__item\",itemSelectable:\"choices__item--selectable\",itemDisabled:\"choices__item--disabled\",itemChoice:\"choices__item--choice\",placeholder:\"choices__placeholder\",group:\"choices__group\",groupHeading:\"choices__heading\",button:\"choices__button\",activeState:\"is-active\",focusState:\"is-focused\",openState:\"is-open\",disabledState:\"is-disabled\",highlightedState:\"is-highlighted\",selectedState:\"is-selected\",flippedState:\"is-flipped\",loadingState:\"is-loading\",noResults:\"has-no-results\",noChoices:\"has-no-choices\"}},D=\"showDropdown\",M=\"hideDropdown\",N=\"change\",F=\"choice\",j=\"search\",K=\"addItem\",R=\"removeItem\",H=\"highlightItem\",B=\"highlightChoice\",V=\"ADD_CHOICE\",G=\"FILTER_CHOICES\",q=\"ACTIVATE_CHOICES\",U=\"CLEAR_CHOICES\",z=\"ADD_GROUP\",W=\"ADD_ITEM\",X=\"REMOVE_ITEM\",$=\"HIGHLIGHT_ITEM\",J=46,Y=8,Z=13,Q=65,ee=27,te=38,ie=40,ne=33,se=34,re=function(){function e(e){var t=e.element,i=e.type,n=e.classNames,s=e.position;this.element=t,this.classNames=n,this.type=i,this.position=s,this.isOpen=!1,this.isFlipped=!1,this.isFocussed=!1,this.isDisabled=!1,this.isLoading=!1,this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var t=e.prototype;return t.addEventListeners=function(){this.element.addEventListener(\"focus\",this._onFocus),this.element.addEventListener(\"blur\",this._onBlur)},t.removeEventListeners=function(){this.element.removeEventListener(\"focus\",this._onFocus),this.element.removeEventListener(\"blur\",this._onBlur)},t.shouldFlip=function(e){if(\"number\"!=typeof e)return!1;var t=!1;return\"auto\"===this.position?t=!window.matchMedia(\"(min-height: \"+(e+1)+\"px)\").matches:\"top\"===this.position&&(t=!0),t},t.setActiveDescendant=function(e){this.element.setAttribute(\"aria-activedescendant\",e)},t.removeActiveDescendant=function(){this.element.removeAttribute(\"aria-activedescendant\")},t.open=function(e){this.element.classList.add(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"true\"),this.isOpen=!0,this.shouldFlip(e)&&(this.element.classList.add(this.classNames.flippedState),this.isFlipped=!0)},t.close=function(){this.element.classList.remove(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"false\"),this.removeActiveDescendant(),this.isOpen=!1,this.isFlipped&&(this.element.classList.remove(this.classNames.flippedState),this.isFlipped=!1)},t.focus=function(){this.isFocussed||this.element.focus()},t.addFocusState=function(){this.element.classList.add(this.classNames.focusState)},t.removeFocusState=function(){this.element.classList.remove(this.classNames.focusState)},t.enable=function(){this.element.classList.remove(this.classNames.disabledState),this.element.removeAttribute(\"aria-disabled\"),\"select-one\"===this.type&&this.element.setAttribute(\"tabindex\",\"0\"),this.isDisabled=!1},t.disable=function(){this.element.classList.add(this.classNames.disabledState),this.element.setAttribute(\"aria-disabled\",\"true\"),\"select-one\"===this.type&&this.element.setAttribute(\"tabindex\",\"-1\"),this.isDisabled=!0},t.wrap=function(e){!function(e,t){void 0===t&&(t=document.createElement(\"div\")),e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t.appendChild(e)}(e,this.element)},t.unwrap=function(e){this.element.parentNode.insertBefore(e,this.element),this.element.parentNode.removeChild(this.element)},t.addLoadingState=function(){this.element.classList.add(this.classNames.loadingState),this.element.setAttribute(\"aria-busy\",\"true\"),this.isLoading=!0},t.removeLoadingState=function(){this.element.classList.remove(this.classNames.loadingState),this.element.removeAttribute(\"aria-busy\"),this.isLoading=!1},t._onFocus=function(){this.isFocussed=!0},t._onBlur=function(){this.isFocussed=!1},e}();function oe(e,t){for(var i=0;i0?this.element.scrollTop+o-s:e.offsetTop;requestAnimationFrame((function(){i._animateScroll(a,t)}))}},t._scrollDown=function(e,t,i){var n=(i-e)/t,s=n>1?n:1;this.element.scrollTop=e+s},t._scrollUp=function(e,t,i){var n=(e-i)/t,s=n>1?n:1;this.element.scrollTop=e-s},t._animateScroll=function(e,t){var i=this,n=this.element.scrollTop,s=!1;t>0?(this._scrollDown(n,4,e),ne&&(s=!0)),s&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();function le(e,t){for(var i=0;i0?\"treeitem\":\"option\"),Object.assign(g.dataset,{choice:\"\",id:l,value:h,selectText:i}),m?(g.classList.add(a),g.dataset.choiceDisabled=\"\",g.setAttribute(\"aria-disabled\",\"true\")):(g.classList.add(r),g.dataset.choiceSelectable=\"\"),g},input:function(e,t){var i=e.input,n=e.inputCloned,s=Object.assign(document.createElement(\"input\"),{type:\"text\",className:i+\" \"+n,autocomplete:\"off\",autocapitalize:\"off\",spellcheck:!1});return s.setAttribute(\"role\",\"textbox\"),s.setAttribute(\"aria-autocomplete\",\"list\"),s.setAttribute(\"aria-label\",t),s},dropdown:function(e){var t=e.list,i=e.listDropdown,n=document.createElement(\"div\");return n.classList.add(t,i),n.setAttribute(\"aria-expanded\",\"false\"),n},notice:function(e,t,i){var n=e.item,s=e.itemChoice,r=e.noResults,o=e.noChoices;void 0===i&&(i=\"\");var a=[n,s];return\"no-choices\"===i?a.push(o):\"no-results\"===i&&a.push(r),Object.assign(document.createElement(\"div\"),{innerHTML:t,className:a.join(\" \")})},option:function(e){var t=e.label,i=e.value,n=e.customProperties,s=e.active,r=e.disabled,o=new Option(t,i,!1,s);return n&&(o.dataset.customProperties=n),o.disabled=r,o}},ve=function(e){return void 0===e&&(e=!0),{type:q,active:e}},ge=function(e,t){return{type:$,id:e,highlighted:t}},_e=function(e){var t=e.value,i=e.id,n=e.active,s=e.disabled;return{type:z,value:t,id:i,active:n,disabled:s}},be=function(e){return{type:\"SET_IS_LOADING\",isLoading:e}};function ye(e,t){for(var i=0;i=0?this._store.getGroupById(s):null;return this._store.dispatch(ge(i,!0)),t&&this.passedElement.triggerEvent(H,{id:i,value:o,label:c,groupValue:l&&l.value?l.value:null}),this},r.unhighlightItem=function(e){if(!e)return this;var t=e.id,i=e.groupId,n=void 0===i?-1:i,s=e.value,r=void 0===s?\"\":s,o=e.label,a=void 0===o?\"\":o,c=n>=0?this._store.getGroupById(n):null;return this._store.dispatch(ge(t,!1)),this.passedElement.triggerEvent(H,{id:t,value:r,label:a,groupValue:c&&c.value?c.value:null}),this},r.highlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.highlightItem(t)})),this},r.unhighlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.unhighlightItem(t)})),this},r.removeActiveItemsByValue=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.value===e})).forEach((function(e){return t._removeItem(e)})),this},r.removeActiveItems=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.id!==e})).forEach((function(e){return t._removeItem(e)})),this},r.removeHighlightedItems=function(e){var t=this;return void 0===e&&(e=!1),this._store.highlightedActiveItems.forEach((function(i){t._removeItem(i),e&&t._triggerChange(i.value)})),this},r.showDropdown=function(e){var t=this;return this.dropdown.isActive||requestAnimationFrame((function(){t.dropdown.show(),t.containerOuter.open(t.dropdown.distanceFromTopWindow),!e&&t._canSearch&&t.input.focus(),t.passedElement.triggerEvent(D,{})})),this},r.hideDropdown=function(e){var t=this;return this.dropdown.isActive?(requestAnimationFrame((function(){t.dropdown.hide(),t.containerOuter.close(),!e&&t._canSearch&&(t.input.removeActiveDescendant(),t.input.blur()),t.passedElement.triggerEvent(M,{})})),this):this},r.getValue=function(e){void 0===e&&(e=!1);var t=this._store.activeItems.reduce((function(t,i){var n=e?i.value:i;return t.push(n),t}),[]);return this._isSelectOneElement?t[0]:t},r.setValue=function(e){var t=this;return this.initialised?(e.forEach((function(e){return t._setChoiceOrItem(e)})),this):this},r.setChoiceByValue=function(e){var t=this;return!this.initialised||this._isTextElement||(Array.isArray(e)?e:[e]).forEach((function(e){return t._findAndSelectChoiceByValue(e)})),this},r.setChoices=function(e,t,i,n){var s=this;if(void 0===e&&(e=[]),void 0===t&&(t=\"value\"),void 0===i&&(i=\"label\"),void 0===n&&(n=!1),!this.initialised)throw new ReferenceError(\"setChoices was called on a non-initialized instance of Choices\");if(!this._isSelectElement)throw new TypeError(\"setChoices can't be used with INPUT based Choices\");if(\"string\"!=typeof t||!t)throw new TypeError(\"value parameter must be a name of 'value' field in passed objects\");if(n&&this.clearChoices(),\"function\"==typeof e){var r=e(this);if(\"function\"==typeof Promise&&r instanceof Promise)return new Promise((function(e){return requestAnimationFrame(e)})).then((function(){return s._handleLoadingState(!0)})).then((function(){return r})).then((function(e){return s.setChoices(e,t,i,n)})).catch((function(e){s.config.silent||console.error(e)})).then((function(){return s._handleLoadingState(!1)})).then((function(){return s}));if(!Array.isArray(r))throw new TypeError(\".setChoices first argument function must return either array of choices or Promise, got: \"+typeof r);return this.setChoices(r,t,i,!1)}if(!Array.isArray(e))throw new TypeError(\".setChoices must be called either with array of choices with a function resulting into Promise of array of choices\");return this.containerOuter.removeLoadingState(),this._startLoading(),e.forEach((function(e){e.choices?s._addGroup({id:parseInt(e.id,10)||null,group:e,valueKey:t,labelKey:i}):s._addChoice({value:e[t],label:e[i],isSelected:e.selected,isDisabled:e.disabled,customProperties:e.customProperties,placeholder:e.placeholder})})),this._stopLoading(),this},r.clearChoices=function(){return this._store.dispatch({type:U}),this},r.clearStore=function(){return this._store.dispatch({type:\"CLEAR_ALL\"}),this},r.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch(ve(!0))),this},r._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var e=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,t=this._isSelectElement,i=this._currentState.items!==this._prevState.items;e&&(t&&this._renderChoices(),i&&this._renderItems(),this._prevState=this._currentState)}},r._renderChoices=function(){var e=this,t=this._store,i=t.activeGroups,n=t.activeChoices,s=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame((function(){return e.choiceList.scrollToTop()})),i.length>=1&&!this._isSearching){var r=n.filter((function(e){return!0===e.placeholder&&-1===e.groupId}));r.length>=1&&(s=this._createChoicesFragment(r,s)),s=this._createGroupsFragment(i,n,s)}else n.length>=1&&(s=this._createChoicesFragment(n,s));if(s.childNodes&&s.childNodes.length>0){var o=this._store.activeItems,a=this._canAddItem(o,this.input.value);a.response?(this.choiceList.append(s),this._highlightChoice()):this.choiceList.append(this._getTemplate(\"notice\",a.notice))}else{var c,l;this._isSearching?(l=\"function\"==typeof this.config.noResultsText?this.config.noResultsText():this.config.noResultsText,c=this._getTemplate(\"notice\",l,\"no-results\")):(l=\"function\"==typeof this.config.noChoicesText?this.config.noChoicesText():this.config.noChoicesText,c=this._getTemplate(\"notice\",l,\"no-choices\")),this.choiceList.append(c)}},r._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},r._createGroupsFragment=function(e,t,i){var n=this;return void 0===i&&(i=document.createDocumentFragment()),this.config.shouldSort&&e.sort(this.config.sorter),e.forEach((function(e){var s=function(e){return t.filter((function(t){return n._isSelectOneElement?t.groupId===e.id:t.groupId===e.id&&(\"always\"===n.config.renderSelectedChoices||!t.selected)}))}(e);if(s.length>=1){var r=n._getTemplate(\"choiceGroup\",e);i.appendChild(r),n._createChoicesFragment(s,i,!0)}})),i},r._createChoicesFragment=function(e,t,i){var n=this;void 0===t&&(t=document.createDocumentFragment()),void 0===i&&(i=!1);var s=this.config,r=s.renderSelectedChoices,o=s.searchResultLimit,a=s.renderChoiceLimit,c=this._isSearching?w:this.config.sorter,l=function(e){if(\"auto\"!==r||n._isSelectOneElement||!e.selected){var i=n._getTemplate(\"choice\",e,n.config.itemSelectText);t.appendChild(i)}},h=e;\"auto\"!==r||this._isSelectOneElement||(h=e.filter((function(e){return!e.selected})));var u=h.reduce((function(e,t){return t.placeholder?e.placeholderChoices.push(t):e.normalChoices.push(t),e}),{placeholderChoices:[],normalChoices:[]}),d=u.placeholderChoices,p=u.normalChoices;(this.config.shouldSort||this._isSearching)&&p.sort(c);var m=h.length,f=this._isSelectOneElement?[].concat(d,p):p;this._isSearching?m=o:a&&a>0&&!i&&(m=a);for(var v=0;v=n){var o=s?this._searchChoices(e):0;this.passedElement.triggerEvent(j,{value:e,resultCount:o})}else r&&(this._isSearching=!1,this._store.dispatch(ve(!0)))}},r._canAddItem=function(e,t){var i=!0,n=\"function\"==typeof this.config.addItemText?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var s=function(e,t,i){return void 0===i&&(i=\"value\"),e.some((function(e){return\"string\"==typeof t?e[i]===t.trim():e[i]===t}))}(e,t);this.config.maxItemCount>0&&this.config.maxItemCount<=e.length&&(i=!1,n=\"function\"==typeof this.config.maxItemText?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&s&&i&&(i=!1,n=\"function\"==typeof this.config.uniqueItemText?this.config.uniqueItemText(t):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&i&&\"function\"==typeof this.config.addItemFilter&&!this.config.addItemFilter(t)&&(i=!1,n=\"function\"==typeof this.config.customAddItemText?this.config.customAddItemText(t):this.config.customAddItemText)}return{response:i,notice:n}},r._searchChoices=function(e){var t=\"string\"==typeof e?e.trim():e,i=\"string\"==typeof this._currentValue?this._currentValue.trim():this._currentValue;if(t.length<1&&t===i+\" \")return 0;var n=this._store.searchableChoices,r=t,o=[].concat(this.config.searchFields),a=Object.assign(this.config.fuseOptions,{keys:o}),c=new s.a(n,a).search(r);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch(function(e){return{type:G,results:e}}(c)),c.length},r._addEventListeners=function(){var e=document.documentElement;e.addEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.addEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.addEventListener(\"mousedown\",this._onMouseDown,!0),e.addEventListener(\"click\",this._onClick,{passive:!0}),e.addEventListener(\"touchmove\",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener(\"mouseover\",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener(\"blur\",this._onBlur,{passive:!0})),this.input.element.addEventListener(\"keyup\",this._onKeyUp,{passive:!0}),this.input.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.input.element.addEventListener(\"blur\",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener(\"reset\",this._onFormReset,{passive:!0}),this.input.addEventListeners()},r._removeEventListeners=function(){var e=document.documentElement;e.removeEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.removeEventListener(\"mousedown\",this._onMouseDown,!0),e.removeEventListener(\"click\",this._onClick),e.removeEventListener(\"touchmove\",this._onTouchMove),this.dropdown.element.removeEventListener(\"mouseover\",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener(\"focus\",this._onFocus),this.containerOuter.element.removeEventListener(\"blur\",this._onBlur)),this.input.element.removeEventListener(\"keyup\",this._onKeyUp),this.input.element.removeEventListener(\"focus\",this._onFocus),this.input.element.removeEventListener(\"blur\",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener(\"reset\",this._onFormReset),this.input.removeEventListeners()},r._onKeyDown=function(e){var t,i=e.target,n=e.keyCode,s=e.ctrlKey,r=e.metaKey,o=this._store.activeItems,a=this.input.isFocussed,c=this.dropdown.isActive,l=this.itemList.hasChildren(),h=String.fromCharCode(n),u=J,d=Y,p=Z,m=Q,f=ee,v=te,g=ie,_=ne,b=se,y=s||r;!this._isTextElement&&/[a-zA-Z0-9-_ ]/.test(h)&&this.showDropdown();var E=((t={})[m]=this._onAKey,t[p]=this._onEnterKey,t[f]=this._onEscapeKey,t[v]=this._onDirectionKey,t[_]=this._onDirectionKey,t[g]=this._onDirectionKey,t[b]=this._onDirectionKey,t[d]=this._onDeleteKey,t[u]=this._onDeleteKey,t);E[n]&&E[n]({event:e,target:i,keyCode:n,metaKey:r,activeItems:o,hasFocusedInput:a,hasActiveDropdown:c,hasItems:l,hasCtrlDownKeyPressed:y})},r._onKeyUp=function(e){var t=e.target,i=e.keyCode,n=this.input.value,s=this._store.activeItems,r=this._canAddItem(s,n),o=J,a=Y;if(this._isTextElement)if(r.notice&&n){var c=this._getTemplate(\"notice\",r.notice);this.dropdown.element.innerHTML=c.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0);else{var l=(i===o||i===a)&&!t.value,h=!this._isTextElement&&this._isSearching,u=this._canSearch&&r.response;l&&h?(this._isSearching=!1,this._store.dispatch(ve(!0))):u&&this._handleSearch(this.input.value)}this._canSearch=this.config.searchEnabled},r._onAKey=function(e){var t=e.hasItems;e.hasCtrlDownKeyPressed&&t&&(this._canSearch=!1,this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement&&this.highlightAll())},r._onEnterKey=function(e){var t=e.event,i=e.target,n=e.activeItems,s=e.hasActiveDropdown,r=Z,o=i.hasAttribute(\"data-button\");if(this._isTextElement&&i.value){var a=this.input.value;this._canAddItem(n,a).response&&(this.hideDropdown(!0),this._addItem({value:a}),this._triggerChange(a),this.clearInput())}if(o&&(this._handleButtonAction(n,i),t.preventDefault()),s){var c=this.dropdown.getChild(\".\"+this.config.classNames.highlightedState);c&&(n[0]&&(n[0].keyCode=r),this._handleChoiceAction(n,c)),t.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),t.preventDefault())},r._onEscapeKey=function(e){e.hasActiveDropdown&&(this.hideDropdown(!0),this.containerOuter.focus())},r._onDirectionKey=function(e){var t,i,n,s=e.event,r=e.hasActiveDropdown,o=e.keyCode,a=e.metaKey,c=ie,l=ne,h=se;if(r||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var u,d=o===c||o===h?1:-1;if(a||o===h||o===l)u=d>0?this.dropdown.element.querySelector(\"[data-choice-selectable]:last-of-type\"):this.dropdown.element.querySelector(\"[data-choice-selectable]\");else{var p=this.dropdown.element.querySelector(\".\"+this.config.classNames.highlightedState);u=p?function(e,t,i){if(void 0===i&&(i=1),e instanceof Element&&\"string\"==typeof t){for(var n=(i>0?\"next\":\"previous\")+\"ElementSibling\",s=e[n];s;){if(s.matches(t))return s;s=s[n]}return s}}(p,\"[data-choice-selectable]\",d):this.dropdown.element.querySelector(\"[data-choice-selectable]\")}u&&(t=u,i=this.choiceList.element,void 0===(n=d)&&(n=1),t&&(n>0?i.scrollTop+i.offsetHeight>=t.offsetTop+t.offsetHeight:t.offsetTop>=i.scrollTop)||this.choiceList.scrollToChildElement(u,d),this._highlightChoice(u)),s.preventDefault()}},r._onDeleteKey=function(e){var t=e.event,i=e.target,n=e.hasFocusedInput,s=e.activeItems;!n||i.value||this._isSelectOneElement||(this._handleBackspace(s),t.preventDefault())},r._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},r._onTouchEnd=function(e){var t=(e||e.touches[0]).target;this._wasTap&&this.containerOuter.element.contains(t)&&((t===this.containerOuter.element||t===this.containerInner.element)&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),e.stopPropagation()),this._wasTap=!0},r._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(Ee&&this.choiceList.element.contains(t)){var i=this.choiceList.element.firstElementChild,n=\"ltr\"===this._direction?e.offsetX>=i.offsetWidth:e.offsetX0&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0))},r._onFocus=function(e){var t,i=this,n=e.target;this.containerOuter.element.contains(n)&&((t={}).text=function(){n===i.input.element&&i.containerOuter.addFocusState()},t[\"select-one\"]=function(){i.containerOuter.addFocusState(),n===i.input.element&&i.showDropdown(!0)},t[\"select-multiple\"]=function(){n===i.input.element&&(i.showDropdown(!0),i.containerOuter.addFocusState())},t)[this.passedElement.element.type]()},r._onBlur=function(e){var t=this,i=e.target;if(this.containerOuter.element.contains(i)&&!this._isScrollingOnIe){var n,s=this._store.activeItems.some((function(e){return e.highlighted}));((n={}).text=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),s&&t.unhighlightAll(),t.hideDropdown(!0))},n[\"select-one\"]=function(){t.containerOuter.removeFocusState(),(i===t.input.element||i===t.containerOuter.element&&!t._canSearch)&&t.hideDropdown(!0)},n[\"select-multiple\"]=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),t.hideDropdown(!0),s&&t.unhighlightAll())},n)[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},r._onFormReset=function(){this._store.dispatch({type:\"RESET_TO\",state:this._initialState})},r._highlightChoice=function(e){var t=this;void 0===e&&(e=null);var i=Array.from(this.dropdown.element.querySelectorAll(\"[data-choice-selectable]\"));if(i.length){var n=e;Array.from(this.dropdown.element.querySelectorAll(\".\"+this.config.classNames.highlightedState)).forEach((function(e){e.classList.remove(t.config.classNames.highlightedState),e.setAttribute(\"aria-selected\",\"false\")})),n?this._highlightPosition=i.indexOf(n):(n=i.length>this._highlightPosition?i[this._highlightPosition]:i[i.length-1])||(n=i[0]),n.classList.add(this.config.classNames.highlightedState),n.setAttribute(\"aria-selected\",\"true\"),this.passedElement.triggerEvent(B,{el:n}),this.dropdown.isActive&&(this.input.setActiveDescendant(n.id),this.containerOuter.setActiveDescendant(n.id))}},r._addItem=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.choiceId,r=void 0===s?-1:s,o=e.groupId,a=void 0===o?-1:o,c=e.customProperties,l=void 0===c?null:c,h=e.placeholder,u=void 0!==h&&h,d=e.keyCode,p=void 0===d?null:d,m=\"string\"==typeof t?t.trim():t,f=p,v=l,g=this._store.items,_=n||m,b=r||-1,y=a>=0?this._store.getGroupById(a):null,E=g?g.length+1:1;return this.config.prependValue&&(m=this.config.prependValue+m.toString()),this.config.appendValue&&(m+=this.config.appendValue.toString()),this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.choiceId,r=e.groupId,o=e.customProperties,a=e.placeholder,c=e.keyCode;return{type:W,value:t,label:i,id:n,choiceId:s,groupId:r,customProperties:o,placeholder:a,keyCode:c}}({value:m,label:_,id:E,choiceId:b,groupId:a,customProperties:l,placeholder:u,keyCode:f})),this._isSelectOneElement&&this.removeActiveItems(E),this.passedElement.triggerEvent(K,{id:E,value:m,label:_,customProperties:v,groupValue:y&&y.value?y.value:void 0,keyCode:f}),this},r._removeItem=function(e){if(!e||!E(\"Object\",e))return this;var t=e.id,i=e.value,n=e.label,s=e.choiceId,r=e.groupId,o=r>=0?this._store.getGroupById(r):null;return this._store.dispatch(function(e,t){return{type:X,id:e,choiceId:t}}(t,s)),o&&o.value?this.passedElement.triggerEvent(R,{id:t,value:i,label:n,groupValue:o.value}):this.passedElement.triggerEvent(R,{id:t,value:i,label:n}),this},r._addChoice=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.isSelected,r=void 0!==s&&s,o=e.isDisabled,a=void 0!==o&&o,c=e.groupId,l=void 0===c?-1:c,h=e.customProperties,u=void 0===h?null:h,d=e.placeholder,p=void 0!==d&&d,m=e.keyCode,f=void 0===m?null:m;if(null!=t){var v=this._store.choices,g=n||t,_=v?v.length+1:1,b=this._baseId+\"-\"+this._idNames.itemChoice+\"-\"+_;this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.groupId,r=e.disabled,o=e.elementId,a=e.customProperties,c=e.placeholder,l=e.keyCode;return{type:V,value:t,label:i,id:n,groupId:s,disabled:r,elementId:o,customProperties:a,placeholder:c,keyCode:l}}({id:_,groupId:l,elementId:b,value:t,label:g,disabled:a,customProperties:u,placeholder:p,keyCode:f})),r&&this._addItem({value:t,label:g,choiceId:_,customProperties:u,placeholder:p,keyCode:f})}},r._addGroup=function(e){var t=this,i=e.group,n=e.id,s=e.valueKey,r=void 0===s?\"value\":s,o=e.labelKey,a=void 0===o?\"label\":o,c=E(\"Object\",i)?i.choices:Array.from(i.getElementsByTagName(\"OPTION\")),l=n||Math.floor((new Date).valueOf()*Math.random()),h=!!i.disabled&&i.disabled;c?(this._store.dispatch(_e({value:i.label,id:l,active:!0,disabled:h})),c.forEach((function(e){var i=e.disabled||e.parentNode&&e.parentNode.disabled;t._addChoice({value:e[r],label:E(\"Object\",e)?e[a]:e.innerHTML,isSelected:e.selected,isDisabled:i,groupId:l,customProperties:e.customProperties,placeholder:e.placeholder})}))):this._store.dispatch(_e({value:i.label,id:i.id,active:!1,disabled:i.disabled}))},r._getTemplate=function(e){var t;if(!e)return null;for(var i=this.config.classNames,n=arguments.length,s=new Array(n>1?n-1:0),r=1;rthis.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.value.change,()=>{this.input_el.value=this.format_value,this.old_value=this.input_el.value}),this.connect(this.model.properties.low.change,()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&h.assert(t<=l,\"Invalid bounds, low must be inferior to high\"),null!=e&&null!=t&&(this.model.value=Math.max(e,t))}),this.connect(this.model.properties.high.change,()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&h.assert(l>=t,\"Invalid bounds, high must be superior to low\"),null!=e&&null!=l&&(this.model.value=Math.min(e,l))}),this.connect(this.model.properties.high.change,()=>this.input_el.placeholder=this.model.placeholder),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled),this.connect(this.model.properties.placeholder.change,()=>this.input_el.placeholder=this.model.placeholder)}get format_value(){return null!=this.model.value?this.model.pretty(this.model.value):\"\"}_set_input_filter(e){this.input_el.addEventListener(\"input\",()=>{const{selectionStart:t,selectionEnd:l}=this.input_el;if(e(this.input_el.value))this.old_value=this.input_el.value;else{const e=this.old_value.length-this.input_el.value.length;this.input_el.value=this.old_value,t&&l&&this.input_el.setSelectionRange(t-1,l+e)}})}render(){super.render(),this.input_el=u.input({type:\"text\",class:r.bk_input,name:this.model.name,value:this.format_value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.old_value=this.format_value,this.set_input_filter(),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.input_el.addEventListener(\"focusout\",()=>this.input_el.value=this.format_value),this.group_el.appendChild(this.input_el)}set_input_filter(){\"int\"==this.model.mode?this._set_input_filter(e=>d.test(e)):\"float\"==this.model.mode&&this._set_input_filter(e=>p.test(e))}bound_value(e){let t=e;const{low:l,high:i}=this.model;return t=null!=l?Math.max(l,t):t,t=null!=i?Math.min(i,t):t,t}get value(){let e=\"\"!==this.input_el.value?Number(this.input_el.value):null;return null!=e&&(e=this.bound_value(e)),e}change_input(){null==this.value?this.model.value=null:Number.isNaN(this.value)||(this.model.value=this.value)}}l.NumericInputView=_,_.__name__=\"NumericInputView\";class m extends s.InputWidget{constructor(e){super(e)}static init_NumericInput(){this.prototype.default_view=_,this.define({value:[o.Number,null],placeholder:[o.String,\"\"],mode:[o.Any,\"int\"],format:[o.Any],low:[o.Number,null],high:[o.Number,null]})}_formatter(e,t){return a.isString(t)?n.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):\"\"+e}}l.NumericInput=m,m.__name__=\"NumericInput\",m.init_NumericInput()},\n", + " 442: function _(t,_,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=t(1);e.__exportStar(t(13),r),e.__exportStar(t(9),r),e.__exportStar(t(29),r),e.__exportStar(t(443),r),e.__exportStar(t(8),r),e.__exportStar(t(25),r)},\n", + " 443: function _(e,t,s){Object.defineProperty(s,\"__esModule\",{value:!0});class n{constructor(e){this.seed=e%2147483647,this.seed<=0&&(this.seed+=2147483646)}integer(){return this.seed=48271*this.seed%2147483647,this.seed}float(){return(this.integer()-1)/2147483646}floats(e){const t=new Array(e);for(let s=0;s{n.classes(o).toggle(s.bk_active,t===e)})}}e.RadioButtonGroupView=_,_.__name__=\"RadioButtonGroupView\";class c extends a.ButtonGroup{constructor(t){super(t)}static init_RadioButtonGroup(){this.prototype.default_view=_,this.define({active:[u.Any,null]})}}e.RadioButtonGroup=c,c.__name__=\"RadioButtonGroup\",c.init_RadioButtonGroup()},\n", + " 446: function _(e,i,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=e(1),a=e(72),s=e(29),o=n.__importStar(e(18)),d=e(417),l=e(173),p=e(412);class r extends d.InputGroupView{render(){super.render();const e=a.div({class:[p.bk_input_group,this.model.inline?l.bk_inline:null]});this.el.appendChild(e);const i=s.uniqueId(),{active:t,labels:n}=this.model;this._inputs=[];for(let s=0;sthis.change_active(s)),this._inputs.push(o),this.model.disabled&&(o.disabled=!0),s==t&&(o.checked=!0);const d=a.label({},o,a.span({},n[s]));e.appendChild(d)}}change_active(e){this.model.active=e}}t.RadioGroupView=r,r.__name__=\"RadioGroupView\";class u extends d.InputGroup{constructor(e){super(e)}static init_RadioGroup(){this.prototype.default_view=r,this.define({active:[o.Number],labels:[o.Array,[]],inline:[o.Boolean,!1]})}}t.RadioGroup=u,u.__name__=\"RadioGroup\",u.init_RadioGroup()},\n", + " 447: function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1).__importStar(e(188)),a=e(423),n=e(8);class o extends a.AbstractRangeSliderView{}r.RangeSliderView=o,o.__name__=\"RangeSliderView\";class s extends a.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}static init_RangeSlider(){this.prototype.default_view=o,this.override({format:\"0[.]00\"})}_formatter(e,t){return n.isString(t)?i.format(e,t):t.doFormat([e],{loc:0})[0]}}r.RangeSlider=s,s.__name__=\"RangeSlider\",s.init_RangeSlider()},\n", + " 448: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(72),l=e(8),o=e(13),p=n.__importStar(e(18)),u=e(410),a=e(412);class _ extends u.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,options:t}=this.model.properties;this.on_change(e,()=>{this._update_value()}),this.on_change(t,()=>{s.empty(this.input_el),s.append(this.input_el,...this.options_el())})}options_el(){function e(e){return e.map(e=>{let t,i;return l.isString(e)?t=i=e:[t,i]=e,s.option({value:t},i)})}const{options:t}=this.model;return l.isArray(t)?e(t):o.entries(t).map(([t,i])=>s.optgroup({label:t},e(i)))}render(){super.render(),this.input_el=s.select({class:a.bk_input,name:this.model.name,disabled:this.model.disabled},this.options_el()),this._update_value(),this.input_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.input_el)}change_input(){const e=this.input_el.value;this.model.value=e,super.change_input()}_update_value(){const{value:e}=this.model;null!=e&&0!=e.length&&(this.input_el.value=this.model.value)}}i.SelectView=_,_.__name__=\"SelectView\";class h extends u.InputWidget{constructor(e){super(e)}static init_Select(){this.prototype.default_view=_,this.define({value:[p.String,\"\"],options:[p.Any,[]]})}}i.Select=h,h.__name__=\"Select\",h.init_Select()},\n", + " 449: function _(e,t,r){Object.defineProperty(r,\"__esModule\",{value:!0});const i=e(1).__importStar(e(188)),o=e(423),s=e(8);class _ extends o.AbstractSliderView{}r.SliderView=_,_.__name__=\"SliderView\";class a extends o.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}static init_Slider(){this.prototype.default_view=_,this.override({format:\"0[.]00\"})}_formatter(e,t){return s.isString(t)?i.format(e,t):t.doFormat([e],{loc:0})[0]}}r.Slider=a,a.__name__=\"Slider\",a.init_Slider()},\n", + " 450: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const n=e(1),s=e(441),l=n.__importStar(e(18)),r=e(72),{min:o,max:_,floor:a,abs:h}=Math;function u(e){return a(e)!==e?e.toFixed(16).replace(/0+$/,\"\").split(\".\")[1].length:0}class p extends s.NumericInputView{*buttons(){yield this.btn_up_el,yield this.btn_down_el}initialize(){super.initialize(),this._interval=200}connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,()=>{for(const e of this.buttons())r.toggle_attribute(e,\"disabled\",this.model.disabled)})}render(){super.render(),this.wrapper_el=r.div({class:\"bk-spin-wrapper\"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=r.button({class:\"bk-spin-btn bk-spin-btn-up\"}),this.btn_down_el=r.button({class:\"bk-spin-btn bk-spin-btn-down\"}),this.wrapper_el.appendChild(this.input_el),this.wrapper_el.appendChild(this.btn_up_el),this.wrapper_el.appendChild(this.btn_down_el);for(const e of this.buttons())r.toggle_attribute(e,\"disabled\",this.model.disabled),e.addEventListener(\"mousedown\",e=>this._btn_mouse_down(e)),e.addEventListener(\"mouseup\",()=>this._btn_mouse_up()),e.addEventListener(\"mouseleave\",()=>this._btn_mouse_leave());this.input_el.addEventListener(\"keydown\",e=>this._input_key_down(e)),this.input_el.addEventListener(\"keyup\",()=>this.model.value_throttled=this.model.value),this.input_el.addEventListener(\"wheel\",e=>this._input_mouse_wheel(e)),this.input_el.addEventListener(\"wheel\",function(e,t,i=!1){let n;return function(...s){const l=this,r=i&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((function(){n=void 0,i||e.apply(l,s)}),t),r&&e.apply(l,s)}}(()=>{this.model.value_throttled=this.model.value},this.model.wheel_wait,!1))}get precision(){const{low:e,high:t,step:i}=this.model;return _(...[e,t,i].map(h).reduce((e,t)=>(null!=t&&e.push(t),e),[]).map(u))}_start_incrementation(e){clearInterval(this._interval_handle),this._counter=0;const{step:t}=this.model,i=e=>{if(this._counter+=1,this._counter%5==0){const t=Math.floor(this._counter/5);t<10?(clearInterval(this._interval_handle),this._interval_handle=setInterval(()=>i(e),this._interval/(t+1))):t>=10&&t<=13&&(clearInterval(this._interval_handle),this._interval_handle=setInterval(()=>i(2*e),this._interval/10))}this.increment(e)};this._interval_handle=setInterval(()=>i(e*t),this._interval)}_stop_incrementation(){clearInterval(this._interval_handle),this.model.value_throttled=this.model.value}_btn_mouse_down(e){e.preventDefault();const t=e.currentTarget===this.btn_up_el?1:-1;this.increment(t*this.model.step),this.input_el.focus(),this._start_incrementation(t)}_btn_mouse_up(){this._stop_incrementation()}_btn_mouse_leave(){this._stop_incrementation()}_input_mouse_wheel(e){if(document.activeElement===this.input_el){e.preventDefault();const t=e.deltaY>0?-1:1;this.increment(t*this.model.step)}}_input_key_down(e){switch(e.keyCode){case r.Keys.Up:return e.preventDefault(),this.increment(this.model.step);case r.Keys.Down:return e.preventDefault(),this.increment(-this.model.step);case r.Keys.PageUp:return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case r.Keys.PageDown:return e.preventDefault(),this.increment(-this.model.page_step_multiplier*this.model.step)}}adjust_to_precision(e){return this.bound_value(Number(e.toFixed(this.precision)))}increment(e){const{low:t,high:i}=this.model;null==this.model.value?e>0?this.model.value=null!=t?t:null!=i?o(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?_(t,0):0):this.model.value=this.adjust_to_precision(this.model.value+e)}change_input(){super.change_input(),this.model.value_throttled=this.model.value}}i.SpinnerView=p,p.__name__=\"SpinnerView\";class d extends s.NumericInput{constructor(e){super(e)}static init_Spinner(){this.prototype.default_view=p,this.define({value_throttled:[l.Number,null],step:[l.Number,1],page_step_multiplier:[l.Number,10],wheel_wait:[l.Number,100]}),this.override({mode:\"float\"})}}i.Spinner=d,d.__name__=\"Spinner\",d.init_Spinner()},\n", + " 451: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),n=e(410),l=e(72),h=s.__importStar(e(18)),o=e(412);class a extends n.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,()=>this.input_el.name=this.model.name||\"\"),this.connect(this.model.properties.value.change,()=>this.input_el.value=this.model.value),this.connect(this.model.properties.disabled.change,()=>this.input_el.disabled=this.model.disabled),this.connect(this.model.properties.placeholder.change,()=>this.input_el.placeholder=this.model.placeholder),this.connect(this.model.properties.rows.change,()=>this.input_el.rows=this.model.rows),this.connect(this.model.properties.cols.change,()=>this.input_el.cols=this.model.cols),this.connect(this.model.properties.max_length.change,()=>this.input_el.maxLength=this.model.max_length)}render(){super.render(),this.input_el=l.textarea({class:o.bk_input,name:this.model.name,disabled:this.model.disabled,placeholder:this.model.placeholder,cols:this.model.cols,rows:this.model.rows,maxLength:this.model.max_length}),this.input_el.textContent=this.model.value,this.input_el.addEventListener(\"change\",()=>this.change_input()),this.group_el.appendChild(this.input_el)}change_input(){this.model.value=this.input_el.value,super.change_input()}}i.TextAreaInputView=a,a.__name__=\"TextAreaInputView\";class p extends n.InputWidget{constructor(e){super(e)}static init_TextAreaInput(){this.prototype.default_view=a,this.define({value:[h.String,\"\"],value_input:[h.String,\"\"],placeholder:[h.String,\"\"],cols:[h.Number,20],rows:[h.Number,2],max_length:[h.Number,500]})}}i.TextAreaInput=p,p.__name__=\"TextAreaInput\",p.init_TextAreaInput()},\n", + " 452: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),c=e(404),o=e(72),a=s.__importStar(e(18)),n=e(173);class l extends c.AbstractButtonView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,()=>this._update_active())}render(){super.render(),this._update_active()}click(){this.model.active=!this.model.active,super.click()}_update_active(){o.classes(this.button_el).toggle(n.bk_active,this.model.active)}}i.ToggleView=l,l.__name__=\"ToggleView\";class _ extends c.AbstractButton{constructor(e){super(e)}static init_Toggle(){this.prototype.default_view=l,this.define({active:[a.Boolean,!1]}),this.override({label:\"Toggle\"})}}i.Toggle=_,_.__name__=\"Toggle\",_.init_Toggle()},\n", + " }, 402, {\"models/widgets/main\":402,\"models/widgets/index\":403,\"models/widgets/abstract_button\":404,\"models/widgets/control\":405,\"models/widgets/widget\":472,\"models/widgets/abstract_icon\":407,\"models/widgets/autocomplete_input\":408,\"models/widgets/text_input\":409,\"models/widgets/input_widget\":410,\"styles/widgets/inputs.css\":411,\"styles/widgets/inputs\":412,\"models/widgets/button\":413,\"models/widgets/checkbox_button_group\":414,\"models/widgets/button_group\":415,\"models/widgets/checkbox_group\":416,\"models/widgets/input_group\":417,\"models/widgets/color_picker\":418,\"models/widgets/date_picker\":419,\"styles/widgets/flatpickr.css\":421,\"models/widgets/date_range_slider\":422,\"models/widgets/abstract_slider\":423,\"styles/widgets/sliders\":425,\"styles/widgets/nouislider.css\":426,\"styles/widgets/sliders.css\":427,\"models/widgets/date_slider\":428,\"models/widgets/div\":429,\"models/widgets/markup\":430,\"styles/clearfix\":431,\"styles/clearfix.css\":432,\"models/widgets/dropdown\":433,\"models/widgets/file_input\":434,\"models/widgets/multiselect\":435,\"models/widgets/paragraph\":436,\"models/widgets/password_input\":437,\"models/widgets/multichoice\":438,\"styles/widgets/choices.css\":440,\"models/widgets/numeric_input\":441,\"api/linalg\":442,\"core/util/random\":443,\"models/widgets/pretext\":444,\"models/widgets/radio_button_group\":445,\"models/widgets/radio_group\":446,\"models/widgets/range_slider\":447,\"models/widgets/selectbox\":448,\"models/widgets/slider\":449,\"models/widgets/spinner\":450,\"models/widgets/textarea_input\":451,\"models/widgets/toggle\":452}, {});\n", + " })\n", + "\n", + "\n", + " /* END bokeh-widgets.min.js */\n", + " },\n", + " \n", + " function(Bokeh) {\n", + " /* BEGIN bokeh-tables.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " factory(root[\"Bokeh\"], \"2.2.3\");\n", + " })(this, function(Bokeh, version) {\n", + " var define;\n", + " return (function(modules, entry, aliases, externals) {\n", + " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", + " if (bokeh != null) {\n", + " return bokeh.register_plugin(modules, entry, aliases);\n", + " } else {\n", + " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", + " }\n", + " })\n", + " ({\n", + " 453: function _(e,t,o){Object.defineProperty(o,\"__esModule\",{value:!0});const r=e(1).__importStar(e(454));o.Tables=r;e(7).register_models(r)},\n", + " 454: function _(a,g,r){Object.defineProperty(r,\"__esModule\",{value:!0});const e=a(1);e.__exportStar(a(455),r),e.__exportStar(a(475),r);var t=a(456);r.DataTable=t.DataTable;var o=a(474);r.TableColumn=o.TableColumn;var n=a(473);r.TableWidget=n.TableWidget;var u=a(481);r.AvgAggregator=u.AvgAggregator,r.MinAggregator=u.MinAggregator,r.MaxAggregator=u.MaxAggregator,r.SumAggregator=u.SumAggregator;var l=a(482);r.GroupingInfo=l.GroupingInfo,r.DataCube=l.DataCube},\n", + " 455: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1).__importStar(e(18)),r=e(72),a=e(78),n=e(81),l=e(456),u=e(478);class d extends a.DOMView{constructor(e){const{model:t,parent:i}=e.column;super(Object.assign({model:t,parent:i},e)),this.args=e,this.initialize(),this.render()}get emptyValue(){return null}initialize(){super.initialize(),this.inputEl=this._createInput(),this.defaultValue=null}async lazy_initialize(){throw new Error(\"unsupported\")}css_classes(){return super.css_classes().concat(u.bk_cell_editor)}render(){super.render(),this.args.container.append(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation()}renderEditor(){}disableNavigation(){this.inputEl.addEventListener(\"keydown\",e=>{switch(e.keyCode){case r.Keys.Left:case r.Keys.Right:case r.Keys.Up:case r.Keys.Down:case r.Keys.PageUp:case r.Keys.PageDown:e.stopImmediatePropagation()}})}destroy(){this.remove()}focus(){this.inputEl.focus()}show(){}hide(){}position(){}getValue(){return this.inputEl.value}setValue(e){this.inputEl.value=e}serializeValue(){return this.getValue()}isValueChanged(){return!(\"\"==this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue}applyValue(e,t){const i=this.args.grid.getData(),s=i.index.indexOf(e[l.DTINDEX_NAME]);i.setField(s,this.args.column.field,t)}loadValue(e){const t=e[this.args.column.field];this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)}validateValue(e){if(this.args.column.validator){const t=this.args.column.validator(e);if(!t.valid)return t}return{valid:!0,msg:null}}validate(){return this.validateValue(this.getValue())}}i.CellEditorView=d,d.__name__=\"CellEditorView\";class o extends n.Model{}i.CellEditor=o,o.__name__=\"CellEditor\";class _ extends d{get emptyValue(){return\"\"}_createInput(){return r.input({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}}i.StringEditorView=_,_.__name__=\"StringEditorView\";class c extends o{static init_StringEditor(){this.prototype.default_view=_,this.define({completions:[s.Array,[]]})}}i.StringEditor=c,c.__name__=\"StringEditor\",c.init_StringEditor();class p extends d{_createInput(){return r.textarea()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=p,p.__name__=\"TextEditorView\";class h extends o{static init_TextEditor(){this.prototype.default_view=p}}i.TextEditor=h,h.__name__=\"TextEditor\",h.init_TextEditor();class E extends d{_createInput(){return r.select()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild(r.option({value:e},e));this.focus()}}i.SelectEditorView=E,E.__name__=\"SelectEditorView\";class V extends o{static init_SelectEditor(){this.prototype.default_view=E,this.define({options:[s.Array,[]]})}}i.SelectEditor=V,V.__name__=\"SelectEditor\",V.init_SelectEditor();class m extends d{_createInput(){return r.input({type:\"text\"})}}i.PercentEditorView=m,m.__name__=\"PercentEditorView\";class f extends o{static init_PercentEditor(){this.prototype.default_view=m}}i.PercentEditor=f,f.__name__=\"PercentEditor\",f.init_PercentEditor();class x extends d{_createInput(){return r.input({type:\"checkbox\"})}renderEditor(){this.focus()}loadValue(e){this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue}serializeValue(){return this.inputEl.checked}}i.CheckboxEditorView=x,x.__name__=\"CheckboxEditorView\";class w extends o{static init_CheckboxEditor(){this.prototype.default_view=x}}i.CheckboxEditor=w,w.__name__=\"CheckboxEditor\",w.init_CheckboxEditor();class g extends d{_createInput(){return r.input({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){return parseInt(this.getValue(),10)||0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid integer\"}:super.validateValue(e)}}i.IntEditorView=g,g.__name__=\"IntEditorView\";class y extends o{static init_IntEditor(){this.prototype.default_view=g,this.define({step:[s.Number,1]})}}i.IntEditor=y,y.__name__=\"IntEditor\",y.init_IntEditor();class v extends d{_createInput(){return r.input({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){return parseFloat(this.getValue())||0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid number\"}:super.validateValue(e)}}i.NumberEditorView=v,v.__name__=\"NumberEditorView\";class b extends o{static init_NumberEditor(){this.prototype.default_view=v,this.define({step:[s.Number,.01]})}}i.NumberEditor=b,b.__name__=\"NumberEditor\",b.init_NumberEditor();class I extends d{_createInput(){return r.input({type:\"text\"})}}i.TimeEditorView=I,I.__name__=\"TimeEditorView\";class N extends o{static init_TimeEditor(){this.prototype.default_view=I}}i.TimeEditor=N,N.__name__=\"TimeEditor\",N.init_TimeEditor();class C extends d{_createInput(){return r.input({type:\"text\"})}get emptyValue(){return new Date}renderEditor(){this.inputEl.focus(),this.inputEl.select()}destroy(){super.destroy()}show(){super.show()}hide(){super.hide()}position(){return super.position()}getValue(){}setValue(e){}}i.DateEditorView=C,C.__name__=\"DateEditorView\";class D extends o{static init_DateEditor(){this.prototype.default_view=C}}i.DateEditor=D,D.__name__=\"DateEditor\",D.init_DateEditor()},\n", + " 456: function _(e,t,i){Object.defineProperty(i,\"__esModule\",{value:!0});const s=e(1),o=e(457),n=e(461),l=e(462),r=e(463),d=e(29),a=e(8),h=e(9),u=e(13),c=e(19),_=e(472),m=e(473),g=e(474),p=e(478),f=s.__importDefault(e(479)),b=s.__importDefault(e(480));i.DTINDEX_NAME=\"__bkdt_internal_index__\",i.AutosizeModes={fit_columns:\"FCV\",fit_viewport:\"FVC\",force_fit:\"LFF\",none:\"NOA\"};class w{constructor(e,t){this.init(e,t)}init(e,t){if(i.DTINDEX_NAME in e.data)throw new Error(`special name ${i.DTINDEX_NAME} cannot be used as a data table column`);this.source=e,this.view=t,this.index=[...this.view.indices]}getLength(){return this.index.length}getItem(e){const t={};for(const i of u.keys(this.source.data))t[i]=this.source.data[i][this.index[e]];return t[i.DTINDEX_NAME]=this.index[e],t}getField(e,t){return t==i.DTINDEX_NAME?this.index[e]:this.source.data[t][this.index[e]]}setField(e,t,i){const s=this.index[e];this.source.patch({[t]:[[s,i]]})}getRecords(){return h.range(0,this.getLength()).map(e=>this.getItem(e))}getItems(){return this.getRecords()}slice(e,t,i){return e=null!=e?e:0,t=null!=t?t:this.getLength(),i=null!=i?i:1,h.range(e,t,i).map(e=>this.getItem(e))}sort(e){let t=e.map(e=>[e.sortCol.field,e.sortAsc?1:-1]);0==t.length&&(t=[[i.DTINDEX_NAME,1]]);const s=this.getRecords(),o=this.index.slice();this.index.sort((e,i)=>{for(const[n,l]of t){const t=s[o.indexOf(e)][n],r=s[o.indexOf(i)][n];if(t!==r)return a.isNumber(t)&&a.isNumber(r)?l*(t-r||+isNaN(t)-+isNaN(r)):\"\"+t>\"\"+r?l:-l}return 0})}}i.TableDataProvider=w,w.__name__=\"TableDataProvider\";class x extends _.WidgetView{constructor(){super(...arguments),this._in_selection_update=!1,this._warned_not_reorderable=!1,this._width=null}connect_signals(){super.connect_signals(),this.connect(this.model.change,()=>this.render()),this.connect(this.model.source.streaming,()=>this.updateGrid()),this.connect(this.model.source.patching,()=>this.updateGrid()),this.connect(this.model.source.change,()=>this.updateGrid()),this.connect(this.model.source.properties.data.change,()=>this.updateGrid()),this.connect(this.model.source.selected.change,()=>this.updateSelection()),this.connect(this.model.source.selected.properties.indices.change,()=>this.updateSelection())}remove(){var e;null===(e=this.grid)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),f.default,b.default]}update_position(){super.update_position(),this.grid.resizeCanvas()}after_layout(){super.after_layout(),this.updateLayout(!0,!1)}box_sizing(){const e=super.box_sizing();return\"fit_viewport\"===this.model.autosize_mode&&null!=this._width&&(e.width=this._width),e}updateLayout(e,t){const s=this.autosize;s===i.AutosizeModes.fit_columns||s===i.AutosizeModes.force_fit?(e||this.grid.resizeCanvas(),this.grid.autosizeColumns()):e&&t&&s===i.AutosizeModes.fit_viewport&&this.invalidate_layout()}updateGrid(){if(this.model.view.compute_indices(),this.data.init(this.model.source,this.model.view),this.model.sortable){const e=this.grid.getColumns(),t=this.grid.getSortColumns().map(t=>({sortCol:{field:e[this.grid.getColumnIndex(t.columnId)].field},sortAsc:t.sortAsc}));this.data.sort(t)}this.grid.invalidate(),this.updateLayout(!0,!0)}updateSelection(){if(this._in_selection_update)return;const{selected:e}=this.model.source,t=e.indices.map(e=>this.data.index.indexOf(e)).sort();this._in_selection_update=!0,this.grid.setSelectedRows(t),this._in_selection_update=!1;const i=this.grid.getViewport(),s=this.model.get_scroll_index(i,t);null!=s&&this.grid.scrollRowToTop(s)}newIndexColumn(){return{id:d.uniqueId(),name:this.model.index_header,field:i.DTINDEX_NAME,width:this.model.index_width,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:p.bk_cell_index,headerCssClass:p.bk_header_index}}css_classes(){return super.css_classes().concat(p.bk_data_table)}get autosize(){let e;return e=!0===this.model.fit_columns?i.AutosizeModes.force_fit:!1===this.model.fit_columns?i.AutosizeModes.none:i.AutosizeModes[this.model.autosize_mode],e}render(){var e;const t=this.model.columns.map(e=>Object.assign(Object.assign({},e.toColumn()),{parent:this}));let s=null;if(\"checkbox\"==this.model.selectable&&(s=new n.CheckboxSelectColumn({cssClass:p.bk_cell_select}),t.unshift(s.getColumnDefinition())),null!=this.model.index_position){const e=this.model.index_position,i=this.newIndexColumn();-1==e?t.push(i):e<-1?t.splice(e+1,0,i):t.splice(e,0,i)}let{reorderable:d}=this.model;!d||\"undefined\"!=typeof $&&null!=$.fn&&null!=$.fn.sortable||(this._warned_not_reorderable||(c.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),this._warned_not_reorderable=!0),d=!1);let h=-1,u=!1;const{frozen_rows:_,frozen_columns:m}=this.model,g=null==m?-1:m-1;null!=_&&(u=_<0,h=Math.abs(_));const f={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:d,autosizeColsMode:this.autosize,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:this.model.auto_edit,autoHeight:!1,rowHeight:this.model.row_height,frozenColumn:g,frozenRow:h,frozenBottom:u},b=null!=this.grid;if(this.data=new w(this.model.source,this.model.view),this.grid=new r.Grid(this.el,this.data,t,f),this.autosize==i.AutosizeModes.fit_viewport){this.grid.autosizeColumns();let i=0;for(const s of t)i+=null!==(e=s.width)&&void 0!==e?e:0;this._width=Math.ceil(i)}if(this.grid.onSort.subscribe((e,t)=>{if(!this.model.sortable)return;const i=t.sortCols;null!=i&&(this.data.sort(i),this.grid.invalidate(),this.updateSelection(),this.grid.render(),this.model.header_row||this._hide_header(),this.model.update_sort_columns(i))}),!1!==this.model.selectable){this.grid.setSelectionModel(new o.RowSelectionModel({selectActiveRow:null==s})),null!=s&&this.grid.registerPlugin(s);const e={dataItemColumnValueExtractor(e,t){let i=e[t.field];return a.isString(i)&&(i=i.replace(/\\n/g,\"\\\\n\")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new l.CellExternalCopyManager(e)),this.grid.onSelectedRowsChanged.subscribe((e,t)=>{this._in_selection_update||(this.model.source.selected.indices=t.rows.map(e=>this.data.index[e]))}),this.updateSelection(),this.model.header_row||this._hide_header()}b&&this.updateLayout(b,!1)}_hide_header(){for(const e of this.el.querySelectorAll(\".slick-header-columns\"))e.style.height=\"0px\";this.grid.resizeCanvas()}}i.DataTableView=x,x.__name__=\"DataTableView\";class C extends m.TableWidget{constructor(e){super(e),this._sort_columns=[]}get sort_columns(){return this._sort_columns}static init_DataTable(){this.prototype.default_view=x,this.define(({Array:e,Boolean:t,Int:i,Ref:s,String:o,Enum:n,Or:l,Null:r})=>({autosize_mode:[n(\"fit_columns\",\"fit_viewport\",\"none\",\"force_fit\"),\"force_fit\"],auto_edit:[t,!1],columns:[e(s(g.TableColumn)),[]],fit_columns:[l(t,r),null],frozen_columns:[l(i,r),null],frozen_rows:[l(i,r),null],sortable:[t,!0],reorderable:[t,!0],editable:[t,!1],selectable:[l(t,n(\"checkbox\")),!0],index_position:[l(i,r),0],index_header:[o,\"#\"],index_width:[i,40],scroll_to_selection:[t,!0],header_row:[t,!0],row_height:[i,25]})),this.override({width:600,height:400})}update_sort_columns(e){this._sort_columns=e.map(({sortCol:e,sortAsc:t})=>({field:e.field,sortAsc:t}))}get_scroll_index(e,t){return this.scroll_to_selection&&0!=t.length?h.some(t,t=>e.top<=t&&t<=e.bottom)?null:Math.max(0,Math.min(...t)-1):null}}i.DataTable=C,C.__name__=\"DataTable\",C.init_DataTable()},\n", + " 457: function _(e,t,n){var o=e(458),r=e(460);t.exports={RowSelectionModel:function(e){var t,n,l,i=[],c=this,u=new r.EventHandler,s={selectActiveRow:!0};function a(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function f(e){for(var t=[],n=0;n=0&&l0&&t-1 in e)}b.fn=b.prototype={jquery:\"3.5.1\",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(b.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()}),{dir:\"parentNode\",next:\"legend\"});try{H.apply(j=O.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){H={apply:j.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+\" \"]&&(!v||!v.test(e))&&(1!==w||\"object\"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute(\"id\"))?c=c.replace(re,ie):t.setAttribute(\"id\",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?\"#\"+c:\":scope\")+\" \"+xe(h[s]);y=h.join(\",\")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute(\"id\")}}}return u(e.replace($,\"$1\"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split(\"|\"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function ge(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",oe,!1):i.attachEvent&&i.attachEvent(\"onunload\",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement(\"div\")),void 0!==e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length})),n.attributes=ce((function(e){return e.className=\"i\",!e.getAttribute(\"className\")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment(\"\")),!e.getElementsByTagName(\"*\").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||v.push(\"~=\"),(t=d.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")})),ce((function(e){e.innerHTML=\"\";var t=d.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,\"*\"),m.call(e,\"[s!='']:x\"),y.push(\"!=\",F)})),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&E(e,(function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?\"!=\"===t:!t||(i+=\"\",\"=\"===t?i===n:\"!=\"===t?i!==n:\"^=\"===t?n&&0===i.indexOf(n):\"*=\"===t?n&&i.indexOf(n)>-1:\"$=\"===t?n&&i.slice(-n.length)===n:\"~=\"===t?(\" \"+i.replace(B,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(i===n||i.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?\"nextSibling\":\"previousSibling\",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return i[b]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,\"$1\"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||\"\")||se.error(\"unsupported lang: \"+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[\" \"],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:\" \"===e[u-2].type?\"*\":\"\"})).replace($,\"$1\"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m=\"0\",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG(\"*\",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p=\"function\"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&\"ID\"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(N).join(\"\")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement(\"fieldset\"))})),ce((function(e){return e.innerHTML=\"\",\"#\"===e.firstChild.getAttribute(\"href\")}))||fe(\"type|href|height|width\",(function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")}))||fe(\"value\",(function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute(\"disabled\")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);b.find=T,b.expr=T.selectors,b.expr[\":\"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?b.grep(e,(function(e){return e===t!==n})):\"string\"!=typeof t?b.grep(e,(function(e){return s.call(t,e)>-1!==n})):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,(function(e){return 1===e.nodeType})))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(b(e).filter((function(){for(t=0;t1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,\"string\"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var D,j=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,D=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,\"parentNode\")},parentsUntil:function(e,t,n){return C(e,\"parentNode\",n)},next:function(e){return H(e,\"nextSibling\")},prev:function(e){return H(e,\"previousSibling\")},nextAll:function(e){return C(e,\"nextSibling\")},prevAll:function(e){return C(e,\"previousSibling\")},nextUntil:function(e,t,n){return C(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return C(e,\"previousSibling\",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,\"template\")&&(e=e.content||e),b.merge([],e.childNodes))}},(function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}}));var O=/[^\\x20\\t\\r\\n\\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return b.each(e.match(O)||[],(function(e,n){t[n]=!0})),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",b.Callbacks(\"memory\"),b.Callbacks(\"memory\"),2],[\"resolve\",\"done\",b.Callbacks(\"once memory\"),b.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",b.Callbacks(\"once memory\"),b.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred((function(t){b.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))})).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),\"pending\"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout((function(){throw t}))};var W=b.Deferred();function F(){v.removeEventListener(\"DOMContentLoaded\",F),e.removeEventListener(\"load\",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch((function(e){b.readyException(e)})),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,\"complete\"===v.readyState||\"loading\"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener(\"DOMContentLoaded\",F),e.addEventListener(\"load\",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Y.remove(this,e)}))}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,(function(){b.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks(\"once memory\").add((function(){G.remove(e,[t+\"queue\",n])}))})}}),b.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement(\"div\")),(fe=v.createElement(\"input\")).setAttribute(\"type\",\"radio\"),fe.setAttribute(\"checked\",\"checked\"),fe.setAttribute(\"name\",\"t\"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML=\"\",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=\"\",d.option=!!ce.lastChild;var ge={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n\",\"\"]);var me=/<|&#?\\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||\"\")&&n.push(o);return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==(\"focus\"===t)}function ke(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each((function(){b.event.add(this,t,i,r,n)}))}function Ae(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,Ce)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(O)||[\"\"]).length;l--;)d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||\"\").match(O)||[\"\"]).length;l--;)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,\"events\")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\\s*$/g;function qe(e,t){return k(e,\"table\")&&k(11!==t.nodeType?t:t.firstChild,\"tr\")&&b(e).children(\"tbody\")[0]||e}function Le(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function He(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n1&&\"string\"==typeof v&&!d.checkClone&&De.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)}));if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,\"script\"),Le)).length;f0&&ye(a,!u&&ve(e,\"script\")),s},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Me(this,e,!0)},remove:function(e){return Me(this,e)},text:function(e){return B(this,(function(e){return void 0===e?b.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Re(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)}))},prepend:function(){return Re(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return b.clone(this,e,t)}))},html:function(e){return B(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n3,ne.removeChild(t)),s}}))}();var ze=[\"Webkit\",\"Moz\",\"ms\"],Ue=v.createElement(\"div\").style,Xe={};function Ve(e){var t=b.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=ze.length;n--;)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Qe={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Je={letterSpacing:\"0\",fontWeight:\"400\"};function Ke(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ze(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=b.css(e,n+te[a],!0,i)),r?(\"content\"===n&&(u-=b.css(e,\"padding\"+te[a],!0,i)),\"margin\"!==n&&(u-=b.css(e,\"border\"+te[a]+\"Width\",!0,i))):(u+=b.css(e,\"padding\"+te[a],!0,i),\"padding\"!==n?u+=b.css(e,\"border\"+te[a]+\"Width\",!0,i):s+=b.css(e,\"border\"+te[a]+\"Width\",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=We(e),i=(!d.boxSizingReliable()||n)&&\"border-box\"===b.css(e,\"boxSizing\",!1,r),o=i,a=$e(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a=\"auto\"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===b.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===b.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=$e(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Ye.test(t),l=e.style;if(u||(t=Ve(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?\"\":\"px\")),d.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Ye.test(t)||(t=Ve(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=$e(e,t,r)),\"normal\"===i&&t in Je&&(i=Je[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each([\"height\",\"width\"],(function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ge.test(b.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):Fe(e,Qe,(function(){return et(e,t,r)}))},set:function(e,n,r){var i,o=We(e),a=!d.scrollboxSize()&&\"absolute\"===o.position,s=(a||r)&&\"border-box\"===b.css(e,\"boxSizing\",!1,o),u=r?Ze(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,\"border\",!1,o)-.5)),u&&(i=ee.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=b.css(e,t)),Ke(0,n,u)}}})),b.cssHooks.marginLeft=_e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat($e(e,\"marginLeft\"))||e.getBoundingClientRect().left-Fe(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+\"px\"})),b.each({margin:\"\",padding:\"\",border:\"Width\"},(function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},\"margin\"!==e&&(b.cssHooks[e+t].set=Ke)})),b.fn.extend({css:function(e,t){return B(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),b.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?\"\":\"px\")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},b.fx=tt.prototype.init,b.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,b.fx.interval),b.fx.tick())}function st(){return e.setTimeout((function(){nt=void 0})),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=te[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(ct.tweeners[t]||[]).concat(ct.tweeners[\"*\"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){b.removeAttr(this,e)}))}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ft:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&\"radio\"===t&&k(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ft={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\\w+/g),(function(e,t){var n=pt[t]||b.find.attr;pt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=pt[a],pt[a]=i,i=null!=n(e,t,r)?a:null,pt[a]=o),i}}));var dt=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function gt(e){return(e.match(O)||[]).join(\" \")}function vt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function yt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[b.propFix[e]||e]}))}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,\"tabindex\");return t?parseInt(t,10):dt.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],(function(){b.propFix[this.toLowerCase()]=this})),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).addClass(e.call(this,t,vt(this)))}));if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&\" \"+gt(i)+\" \"){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=gt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).removeClass(e.call(this,t,vt(this)))}));if(!arguments.length)return this.attr(\"class\",\"\");if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&\" \"+gt(i)+\" \"){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");i!==(s=gt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){b(this).toggleClass(e.call(this,n,vt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=yt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=vt(this))&&G.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":G.get(this,\"__className__\")||\"\"))}))},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+gt(vt(n))+\" \").indexOf(t)>-1)return!0;return!1}});var mt=/\\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=b.map(i,(function(e){return null==e?\"\":e+\"\"}))),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))}))):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:\"string\"==typeof(n=i.value)?n.replace(mt,\"\"):null==n?\"\":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,\"value\");return null!=t?t:gt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each([\"radio\",\"checkbox\"],(function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})})),d.focusin=\"onfocusin\"in e;var xt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,\"type\")?t.type:t,x=c.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!xt.test(m+b.event.triggered)&&(m.indexOf(\".\")>-1&&(x=m.split(\".\"),m=x.shift(),x.sort()),l=m.indexOf(\":\")<0&&\"on\"+m,(t=t[b.expando]?t:new b.Event(m,\"object\"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+x.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,xt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,\"events\")||Object.create(null))[t.type]&&G.get(a,\"handle\"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,bt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,bt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each((function(){b.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:\"focusin\",blur:\"focusout\"},(function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}}));var wt=e.location,Tt={guid:Date.now()},Ct=/\\?/;b.parseXML=function(t){var n;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){n=void 0}return n&&!n.getElementsByTagName(\"parsererror\").length||b.error(\"Invalid XML: \"+t),n};var Et=/\\[\\]$/,St=/\\r?\\n/g,kt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function Nt(e,t,n,r){var i;if(Array.isArray(t))b.each(t,(function(t,i){n||Et.test(e)?r(e,i):Nt(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)}));else if(n||\"object\"!==x(t))r(e,t);else for(i in t)Nt(e+\"[\"+i+\"]\",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,(function(){i(this.name,this.value)}));else for(n in e)Nt(n,e[n],t,i);return r.join(\"&\")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=b.prop(this,\"elements\");return e?b.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!b(this).is(\":disabled\")&&At.test(this.nodeName)&&!kt.test(e)&&(this.checked||!pe.test(e))})).map((function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,(function(e){return{name:t.name,value:e.replace(St,\"\\r\\n\")}})):{name:t.name,value:n.replace(St,\"\\r\\n\")}})).get()}});var Dt=/%20/g,jt=/#.*$/,qt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Ht=/^(?:GET|HEAD)$/,Ot=/^\\/\\//,Pt={},Rt={},Mt=\"*/\".concat(\"*\"),It=v.createElement(\"a\");function Wt(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ft(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!0,b.each(e[s]||[],(function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i[\"*\"]&&a(\"*\")}function Bt(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}It.href=wt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Mt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,b.ajaxSettings),t):Bt(b.ajaxSettings,e)},ajaxPrefilter:Wt(Pt),ajaxTransport:Wt(Rt),ajax:function(t,n){\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks(\"once memory\"),x=d.statusCode||{},w={},T={},C=\"canceled\",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()+\" \"]=(a[t[1].toLowerCase()+\" \"]||[]).concat(t[2]);t=a[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||wt.href)+\"\").replace(Ot,wt.protocol+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||\"*\").toLowerCase().match(O)||[\"\"],null==d.crossDomain){u=v.createElement(\"a\");try{u.href=d.url,u.href=u.href,d.crossDomain=It.protocol+\"//\"+It.host!=u.protocol+\"//\"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Ft(Pt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Ht.test(d.type),i=d.url.replace(jt,\"\"),d.hasContent?d.data&&d.processData&&0===(d.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(d.data=d.data.replace(Dt,\"+\")):(p=d.url.slice(i.length),d.data&&(d.processData||\"string\"==typeof d.data)&&(i+=(Ct.test(i)?\"&\":\"?\")+d.data,delete d.data),!1===d.cache&&(i=i.replace(qt,\"$1\"),p=(Ct.test(i)?\"&\":\"?\")+\"_=\"+Tt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader(\"If-Modified-Since\",b.lastModified[i]),b.etag[i]&&E.setRequestHeader(\"If-None-Match\",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader(\"Content-Type\",d.contentType),E.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Mt+\"; q=0.01\":\"\"):d.accepts[\"*\"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C=\"abort\",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Ft(Rt,d,n,E)){if(E.readyState=1,c&&g.trigger(\"ajaxSend\",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort(\"timeout\")}),d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,\"No Transport\");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||\"\",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray(\"script\",d.dataTypes)>-1&&(d.converters[\"text script\"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader(\"Last-Modified\"))&&(b.lastModified[i]=T),(T=E.getResponseHeader(\"etag\"))&&(b.etag[i]=T)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+\"\",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?\"ajaxSuccess\":\"ajaxError\",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger(\"ajaxComplete\",[E,d]),--b.active||b.event.trigger(\"ajaxStop\")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,\"json\")},getScript:function(e,t){return b.get(e,void 0,t,\"script\")}}),b.each([\"get\",\"post\"],(function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}})),b.ajaxPrefilter((function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")})),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){b(this).wrapInner(e.call(this,t))})):this.each((function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){b(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not(\"body\").each((function(){b(this).replaceWith(this.childNodes)})),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},_t=b.ajaxSettings.xhr();d.cors=!!_t&&\"withCredentials\"in _t,d.ajax=_t=!!_t,b.ajaxTransport((function(t){var n,r;if(d.cors||_t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,\"abort\"===e?s.abort():\"error\"===e?\"number\"!=typeof s.status?o(0,\"error\"):o(s.status,s.statusText):o($t[s.status]||s.status,s.statusText,\"text\"!==(s.responseType||\"text\")||\"string\"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n(\"error\"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n(\"abort\");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),b.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),b.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter(\"script\",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")})),b.ajaxTransport(\"script\",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b(\"" + ], + "text/plain": [ + ":Curve [Date] (Price)" + ] + }, + "execution_count": 19, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "1001" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot - GOLD Price from 2000 to 2019\n", + "gold_price_df.hvplot(title='GOLD Price from 2000 to 2019', xlabel='Years', ylabel='Price in USD')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":NdOverlay [Variable]\n", + " :Curve [Year] (value)" + ] + }, + "execution_count": 20, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "1190" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot - Hourly_Minimum_Wage from 2000 to 2019\n", + "minimum_wage_df.hvplot(height=300,width=600, xlabel='Year', ylabel='Hourly Minimum Wage in USD', title='Hourly Minimum Wage from 2000 to 2019')" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Price
Date
20191479.15
20191475.44
20191476.45
20191476.25
20191475.81
\n", + "
" + ], + "text/plain": [ + " Price\n", + "Date \n", + "2019 1479.15\n", + "2019 1475.44\n", + "2019 1476.45\n", + "2019 1476.25\n", + "2019 1475.81" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# clean data - Extract year from index\n", + "gold_price_year_df = gold_price_df.copy()\n", + "gold_price_year_df.index = gold_price_df.index.year\n", + "gold_price_year_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Price
Date
2000269.283871
2001271.370462
2002310.700308
2003364.215692
2004409.897088
\n", + "
" + ], + "text/plain": [ + " Price\n", + "Date \n", + "2000 269.283871\n", + "2001 271.370462\n", + "2002 310.700308\n", + "2003 364.215692\n", + "2004 409.897088" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Data Preparation - Get Annual Average Gold Price\n", + "avg_gold_price_df = gold_price_year_df.groupby('Date').mean()\n", + "avg_gold_price_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AustraliaBelgiumCanadaChileColombiaCzech RepublicEstoniaFranceGermanyGreece...PortugalSlovak RepublicSloveniaSpainTurkeyUnited KingdomUnited StatesCosta RicaBrazilRussian Federation
Year
200110.910.97.21.92.13.11.810.111.585.7...4.71.45.05.83.07.17.42.91.10.3
200211.011.17.11.92.13.42.010.211.585.8...4.81.55.25.83.27.67.32.81.10.4
200311.111.07.01.92.13.72.310.411.585.9...4.71.85.45.73.47.87.22.91.20.4
200411.310.97.12.02.23.92.510.711.586.0...4.72.05.65.74.48.27.02.81.20.4
200511.410.87.12.02.24.12.611.211.586.1...4.72.15.76.04.68.66.72.81.30.5
\n", + "

5 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Australia Belgium Canada Chile Colombia Czech Republic Estonia \\\n", + "Year \n", + "2001 10.9 10.9 7.2 1.9 2.1 3.1 1.8 \n", + "2002 11.0 11.1 7.1 1.9 2.1 3.4 2.0 \n", + "2003 11.1 11.0 7.0 1.9 2.1 3.7 2.3 \n", + "2004 11.3 10.9 7.1 2.0 2.2 3.9 2.5 \n", + "2005 11.4 10.8 7.1 2.0 2.2 4.1 2.6 \n", + "\n", + " France Germany Greece ... Portugal Slovak Republic Slovenia Spain \\\n", + "Year ... \n", + "2001 10.1 11.58 5.7 ... 4.7 1.4 5.0 5.8 \n", + "2002 10.2 11.58 5.8 ... 4.8 1.5 5.2 5.8 \n", + "2003 10.4 11.58 5.9 ... 4.7 1.8 5.4 5.7 \n", + "2004 10.7 11.58 6.0 ... 4.7 2.0 5.6 5.7 \n", + "2005 11.2 11.58 6.1 ... 4.7 2.1 5.7 6.0 \n", + "\n", + " Turkey United Kingdom United States Costa Rica Brazil \\\n", + "Year \n", + "2001 3.0 7.1 7.4 2.9 1.1 \n", + "2002 3.2 7.6 7.3 2.8 1.1 \n", + "2003 3.4 7.8 7.2 2.9 1.2 \n", + "2004 4.4 8.2 7.0 2.8 1.2 \n", + "2005 4.6 8.6 6.7 2.8 1.3 \n", + "\n", + " Russian Federation \n", + "Year \n", + "2001 0.3 \n", + "2002 0.4 \n", + "2003 0.4 \n", + "2004 0.4 \n", + "2005 0.5 \n", + "\n", + "[5 rows x 32 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Clean - Replace \"..\" for Germany with its mean\n", + "minimum_wage_df['Germany'].replace('..',minimum_wage_df.loc[2015:2019,'Germany'].astype(float).mean(),inplace=True)\n", + "minimum_wage_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AustraliaBelgiumCanadaChileColombiaCzech RepublicEstoniaFranceGermanyGreece...PortugalSlovak RepublicSloveniaSpainTurkeyUnited KingdomUnited StatesCosta RicaBrazilRussian Federation
Year
200110.910.97.21.92.13.11.810.111.585.7...4.71.45.05.83.07.17.42.91.10.3
200211.011.17.11.92.13.42.010.211.585.8...4.81.55.25.83.27.67.32.81.10.4
200311.111.07.01.92.13.72.310.411.585.9...4.71.85.45.73.47.87.22.91.20.4
200411.310.97.12.02.23.92.510.711.586.0...4.72.05.65.74.48.27.02.81.20.4
200511.410.87.12.02.24.12.611.211.586.1...4.72.15.76.04.68.66.72.81.30.5
\n", + "

5 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Australia Belgium Canada Chile Colombia Czech Republic Estonia \\\n", + "Year \n", + "2001 10.9 10.9 7.2 1.9 2.1 3.1 1.8 \n", + "2002 11.0 11.1 7.1 1.9 2.1 3.4 2.0 \n", + "2003 11.1 11.0 7.0 1.9 2.1 3.7 2.3 \n", + "2004 11.3 10.9 7.1 2.0 2.2 3.9 2.5 \n", + "2005 11.4 10.8 7.1 2.0 2.2 4.1 2.6 \n", + "\n", + " France Germany Greece ... Portugal Slovak Republic Slovenia Spain \\\n", + "Year ... \n", + "2001 10.1 11.58 5.7 ... 4.7 1.4 5.0 5.8 \n", + "2002 10.2 11.58 5.8 ... 4.8 1.5 5.2 5.8 \n", + "2003 10.4 11.58 5.9 ... 4.7 1.8 5.4 5.7 \n", + "2004 10.7 11.58 6.0 ... 4.7 2.0 5.6 5.7 \n", + "2005 11.2 11.58 6.1 ... 4.7 2.1 5.7 6.0 \n", + "\n", + " Turkey United Kingdom United States Costa Rica Brazil \\\n", + "Year \n", + "2001 3.0 7.1 7.4 2.9 1.1 \n", + "2002 3.2 7.6 7.3 2.8 1.1 \n", + "2003 3.4 7.8 7.2 2.9 1.2 \n", + "2004 4.4 8.2 7.0 2.8 1.2 \n", + "2005 4.6 8.6 6.7 2.8 1.3 \n", + "\n", + " Russian Federation \n", + "Year \n", + "2001 0.3 \n", + "2002 0.4 \n", + "2003 0.4 \n", + "2004 0.4 \n", + "2005 0.5 \n", + "\n", + "[5 rows x 32 columns]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Clean - Replace \"..\" with its mean in Japan Column\n", + "minimum_wage_df['Japan'].replace('..',minimum_wage_df.loc[2001:2018,'Japan'].astype(float).mean(),inplace=True)\n", + "minimum_wage_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AustraliaBelgiumCanadaChileColombiaCzech RepublicEstoniaFranceGermanyGreece...PortugalSlovak RepublicSloveniaSpainTurkeyUnited KingdomUnited StatesCosta RicaBrazilRussian Federation
Year
200110.910.97.21.92.13.11.810.111.585.7...4.71.45.05.83.07.17.42.91.10.3
200211.011.17.11.92.13.42.010.211.585.8...4.81.55.25.83.27.67.32.81.10.4
200311.111.07.01.92.13.72.310.411.585.9...4.71.85.45.73.47.87.22.91.20.4
200411.310.97.12.02.23.92.510.711.586.0...4.72.05.65.74.48.27.02.81.20.4
200511.410.87.12.02.24.12.611.211.586.1...4.72.15.76.04.68.66.72.81.30.5
\n", + "

5 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Australia Belgium Canada Chile Colombia Czech Republic Estonia \\\n", + "Year \n", + "2001 10.9 10.9 7.2 1.9 2.1 3.1 1.8 \n", + "2002 11.0 11.1 7.1 1.9 2.1 3.4 2.0 \n", + "2003 11.1 11.0 7.0 1.9 2.1 3.7 2.3 \n", + "2004 11.3 10.9 7.1 2.0 2.2 3.9 2.5 \n", + "2005 11.4 10.8 7.1 2.0 2.2 4.1 2.6 \n", + "\n", + " France Germany Greece ... Portugal Slovak Republic Slovenia \\\n", + "Year ... \n", + "2001 10.1 11.58 5.7 ... 4.7 1.4 5.0 \n", + "2002 10.2 11.58 5.8 ... 4.8 1.5 5.2 \n", + "2003 10.4 11.58 5.9 ... 4.7 1.8 5.4 \n", + "2004 10.7 11.58 6.0 ... 4.7 2.0 5.6 \n", + "2005 11.2 11.58 6.1 ... 4.7 2.1 5.7 \n", + "\n", + " Spain Turkey United Kingdom United States Costa Rica Brazil \\\n", + "Year \n", + "2001 5.8 3.0 7.1 7.4 2.9 1.1 \n", + "2002 5.8 3.2 7.6 7.3 2.8 1.1 \n", + "2003 5.7 3.4 7.8 7.2 2.9 1.2 \n", + "2004 5.7 4.4 8.2 7.0 2.8 1.2 \n", + "2005 6.0 4.6 8.6 6.7 2.8 1.3 \n", + "\n", + " Russian Federation \n", + "Year \n", + "2001 0.3 \n", + "2002 0.4 \n", + "2003 0.4 \n", + "2004 0.4 \n", + "2005 0.5 \n", + "\n", + "[5 rows x 32 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Data Preparation - Convert String to float\n", + "for column in minimum_wage_df.columns: \n", + " minimum_wage_df[column] = minimum_wage_df[column].astype(float)\n", + "minimum_wage_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PriceAustraliaBelgiumCanadaChileColombiaCzech RepublicEstoniaFranceGermany...PortugalSlovak RepublicSloveniaSpainTurkeyUnited KingdomUnited StatesCosta RicaBrazilRussian Federation
2001271.37046224.89637324.89637337.690342142.826559129.22402987.538859150.76136826.86836323.434409...57.738396193.83604454.27409246.78801190.45682138.22119236.67168493.576021246.700420904.568205
2002310.70030828.24548327.99101943.760607163.526478147.95252791.382443155.35015430.46081426.830769...64.729231207.13353859.75005953.56901997.09384640.88161942.561686110.964396282.454825776.750769
2003364.21569232.81222533.11051752.030813191.692470173.43604498.436674158.35464935.02074031.452132...77.492700202.34205167.44735063.897490107.12226246.69432050.585513125.591618303.513077910.539231
2004409.89708836.27407937.60523757.731984204.948544186.316858105.101817163.95883538.30813935.396985...87.212146204.94854473.19590971.91177093.15842949.98745058.556727146.391817341.5809071024.742720
2005445.39184639.06946041.23998662.731246222.695923202.450839108.632158171.30455639.76712938.462163...94.764223212.09135578.13892074.23197496.82431451.78975066.476395159.068516342.609112890.783692
\n", + "

5 rows × 33 columns

\n", + "
" + ], + "text/plain": [ + " Price Australia Belgium Canada Chile Colombia \\\n", + "2001 271.370462 24.896373 24.896373 37.690342 142.826559 129.224029 \n", + "2002 310.700308 28.245483 27.991019 43.760607 163.526478 147.952527 \n", + "2003 364.215692 32.812225 33.110517 52.030813 191.692470 173.436044 \n", + "2004 409.897088 36.274079 37.605237 57.731984 204.948544 186.316858 \n", + "2005 445.391846 39.069460 41.239986 62.731246 222.695923 202.450839 \n", + "\n", + " Czech Republic Estonia France Germany ... Portugal \\\n", + "2001 87.538859 150.761368 26.868363 23.434409 ... 57.738396 \n", + "2002 91.382443 155.350154 30.460814 26.830769 ... 64.729231 \n", + "2003 98.436674 158.354649 35.020740 31.452132 ... 77.492700 \n", + "2004 105.101817 163.958835 38.308139 35.396985 ... 87.212146 \n", + "2005 108.632158 171.304556 39.767129 38.462163 ... 94.764223 \n", + "\n", + " Slovak Republic Slovenia Spain Turkey United Kingdom \\\n", + "2001 193.836044 54.274092 46.788011 90.456821 38.221192 \n", + "2002 207.133538 59.750059 53.569019 97.093846 40.881619 \n", + "2003 202.342051 67.447350 63.897490 107.122262 46.694320 \n", + "2004 204.948544 73.195909 71.911770 93.158429 49.987450 \n", + "2005 212.091355 78.138920 74.231974 96.824314 51.789750 \n", + "\n", + " United States Costa Rica Brazil Russian Federation \n", + "2001 36.671684 93.576021 246.700420 904.568205 \n", + "2002 42.561686 110.964396 282.454825 776.750769 \n", + "2003 50.585513 125.591618 303.513077 910.539231 \n", + "2004 58.556727 146.391817 341.580907 1024.742720 \n", + "2005 66.476395 159.068516 342.609112 890.783692 \n", + "\n", + "[5 rows x 33 columns]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Calculating Work Hours\n", + "work_hours = pd.concat([avg_gold_price_df,minimum_wage_df], axis=1)\n", + "for Country in work_hours.columns:\n", + " if Country != 'Price':\n", + " work_hours[Country] = work_hours['Price'] / work_hours[Country]\n", + "\n", + "work_hours.dropna(inplace=True)\n", + "work_hours.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":NdOverlay [Variable]\n", + " :Curve [index] (value)" + ] + }, + "execution_count": 27, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "3565" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot - Number of Hours to Purchase 1 oz of Gold\n", + "work_hours.hvplot(title='Number of Hours to Purchase 1 oz of Gold', xlabel='Year', ylabel='Hours')" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
openhighlowclosevolume
Date
2019-12-191,475.441,481.971,473.011,479.150.25%
2019-12-181,476.451,479.671,470.321,475.44-0.07%
2019-12-171,476.251,480.781,474.231,476.450.01%
2019-12-161,475.601,480.031,472.991,476.250.03%
2019-12-131,469.471,478.221,462.481,475.810.43%
\n", + "
" + ], + "text/plain": [ + " open high low close volume\n", + "Date \n", + "2019-12-19 1,475.44 1,481.97 1,473.01 1,479.15 0.25%\n", + "2019-12-18 1,476.45 1,479.67 1,470.32 1,475.44 -0.07%\n", + "2019-12-17 1,476.25 1,480.78 1,474.23 1,476.45 0.01%\n", + "2019-12-16 1,475.60 1,480.03 1,472.99 1,476.25 0.03%\n", + "2019-12-13 1,469.47 1,478.22 1,462.48 1,475.81 0.43%" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Gold Monte Carlo Simulation\n", + "# Clean - Rename columns\n", + "gold_df = gold_df[[\"Open\",\"High\",\"Low\",\"Price\",\"Change %\"]]\n", + "gold_df.rename(columns={\"Open\":\"open\",\"High\":\"high\",\"Low\":\"low\",\"Price\":\"close\",\"Change %\":\"volume\"},inplace = True);\n", + "gold_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
openhighlowclosevolume
Date
2019-12-191475.441481.971473.011479.150.25%
2019-12-181476.451479.671470.321475.44-0.07%
2019-12-171476.251480.781474.231476.450.01%
2019-12-161475.601480.031472.991476.250.03%
2019-12-131469.471478.221462.481475.810.43%
\n", + "
" + ], + "text/plain": [ + " open high low close volume\n", + "Date \n", + "2019-12-19 1475.44 1481.97 1473.01 1479.15 0.25%\n", + "2019-12-18 1476.45 1479.67 1470.32 1475.44 -0.07%\n", + "2019-12-17 1476.25 1480.78 1474.23 1476.45 0.01%\n", + "2019-12-16 1475.60 1480.03 1472.99 1476.25 0.03%\n", + "2019-12-13 1469.47 1478.22 1462.48 1475.81 0.43%" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Clean - Convert Data type into float\n", + "for columns in gold_df.columns:\n", + " \n", + " if columns != 'volume':\n", + " \n", + " gold_df[columns] = gold_df[columns].str.replace(',','')\n", + "\n", + " gold_df[columns] = gold_df[columns].astype(float)\n", + "\n", + "gold_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GOLD
openhighlowclosevolume
Date
2019-12-191475.441481.971473.011479.150.25%
2019-12-181476.451479.671470.321475.44-0.07%
2019-12-171476.251480.781474.231476.450.01%
2019-12-161475.601480.031472.991476.250.03%
2019-12-131469.471478.221462.481475.810.43%
\n", + "
" + ], + "text/plain": [ + " GOLD \n", + " open high low close volume\n", + "Date \n", + "2019-12-19 1475.44 1481.97 1473.01 1479.15 0.25%\n", + "2019-12-18 1476.45 1479.67 1470.32 1475.44 -0.07%\n", + "2019-12-17 1476.25 1480.78 1474.23 1476.45 0.01%\n", + "2019-12-16 1475.60 1480.03 1472.99 1476.25 0.03%\n", + "2019-12-13 1469.47 1478.22 1462.48 1475.81 0.43%" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Data Preparation for Monte Carlo Simulation\n", + "gold_df.columns = pd.MultiIndex.from_product([['GOLD'],gold_df.columns])\n", + "gold_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running Monte Carlo simulation number 0.\n", + "Running Monte Carlo simulation number 10.\n", + "Running Monte Carlo simulation number 20.\n", + "Running Monte Carlo simulation number 30.\n", + "Running Monte Carlo simulation number 40.\n", + "Running Monte Carlo simulation number 50.\n", + "Running Monte Carlo simulation number 60.\n", + "Running Monte Carlo simulation number 70.\n", + "Running Monte Carlo simulation number 80.\n", + "Running Monte Carlo simulation number 90.\n", + "Running Monte Carlo simulation number 100.\n", + "Running Monte Carlo simulation number 110.\n", + "Running Monte Carlo simulation number 120.\n", + "Running Monte Carlo simulation number 130.\n", + "Running Monte Carlo simulation number 140.\n", + "Running Monte Carlo simulation number 150.\n", + "Running Monte Carlo simulation number 160.\n", + "Running Monte Carlo simulation number 170.\n", + "Running Monte Carlo simulation number 180.\n", + "Running Monte Carlo simulation number 190.\n", + "Running Monte Carlo simulation number 200.\n", + "Running Monte Carlo simulation number 210.\n", + "Running Monte Carlo simulation number 220.\n", + "Running Monte Carlo simulation number 230.\n", + "Running Monte Carlo simulation number 240.\n", + "Running Monte Carlo simulation number 250.\n", + "Running Monte Carlo simulation number 260.\n", + "Running Monte Carlo simulation number 270.\n", + "Running Monte Carlo simulation number 280.\n", + "Running Monte Carlo simulation number 290.\n", + "Running Monte Carlo simulation number 300.\n", + "Running Monte Carlo simulation number 310.\n", + "Running Monte Carlo simulation number 320.\n", + "Running Monte Carlo simulation number 330.\n", + "Running Monte Carlo simulation number 340.\n", + "Running Monte Carlo simulation number 350.\n", + "Running Monte Carlo simulation number 360.\n", + "Running Monte Carlo simulation number 370.\n", + "Running Monte Carlo simulation number 380.\n", + "Running Monte Carlo simulation number 390.\n", + "Running Monte Carlo simulation number 400.\n", + "Running Monte Carlo simulation number 410.\n", + "Running Monte Carlo simulation number 420.\n", + "Running Monte Carlo simulation number 430.\n", + "Running Monte Carlo simulation number 440.\n", + "Running Monte Carlo simulation number 450.\n", + "Running Monte Carlo simulation number 460.\n", + "Running Monte Carlo simulation number 470.\n", + "Running Monte Carlo simulation number 480.\n", + "Running Monte Carlo simulation number 490.\n", + "count 500.000000\n", + "mean 0.704649\n", + "std 0.275040\n", + "min 0.180586\n", + "25% 0.515167\n", + "50% 0.650523\n", + "75% 0.830860\n", + "max 2.076649\n", + "95% CI Lower 0.326264\n", + "95% CI Upper 1.392523\n", + "Name: 1260, dtype: float64\n", + "There is a 95% chance that an initial investment of $1,500 in Gold over the next 5 years will end within in the range of $489.4 and $2088.78.\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Importing Monte Carlo Simulation Python library\n", + "from MCForecastTools import MCSimulation\n", + "\n", + "num_sims = 500\n", + "\n", + "MC_GOLD = MCSimulation(\n", + " portfolio_data = gold_df,\n", + " num_simulation = num_sims,\n", + " weights = [1],\n", + " num_trading_days = 252 * 5\n", + ")\n", + "\n", + "MC_GOLD.calc_cumulative_return()\n", + "line_plot = MC_GOLD.plot_simulation()\n", + "tbl = MC_GOLD.summarize_cumulative_return()\n", + "\n", + "# Print summary statistics\n", + "print(tbl)\n", + "# Use the lower and upper `95%` confidence intervals to calculate the range of the possible outcomes of our $10,000 investments in AAPL stocks\n", + "ci_lower = round(tbl[8]*1500,2)\n", + "ci_upper = round(tbl[9]*1500,2)\n", + "\n", + "# Print results\n", + "print(f\"There is a 95% chance that an initial investment of $1,500 in Gold\"\n", + " f\" over the next 5 years will end within in the range of\"\n", + " f\" ${ci_lower} and ${ci_upper}.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "mc_distribution = MC_GOLD.plot_distribution()\n", + "mc_distribution.get_figure().savefig('MC_fiveyear_dist_plot.png',bbox_inches='tight')" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "# Sort values by descending order\n", + "minimum_wage_df.sort_values(by='Year', ascending=False, inplace=True)\n", + "minimum_wage_df.sort_values(by=2019, axis=1, ascending=False, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + "Column\n", + " [0] Column\n", + " [0] DiscreteSlider(formatter='%d', name='year', options=[2019, 2018, 2017, ...], value=2019)\n", + " [1] Row\n", + " [0] HoloViews(Bars, name='interactive11780')" + ] + }, + "execution_count": 34, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "6264" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot - Hourly Minimum Wage around the World from 2001 to 2019\n", + "def hourly_minimum_wage_by_year(year):\n", + " #minimum_wage_df.sort_values(by='Year', ascending=False, inplace=True)\n", + " s_title = 'Minimum Hourly Wage around the World for '+str(year);\n", + " return minimum_wage_df.loc[year,:].hvplot.bar(height=350, width=700,title=s_title, xlabel='Country', ylabel='Minimum Hourly Wage in USD', rot=90)\n", + "\n", + "interact(hourly_minimum_wage_by_year, year=minimum_wage_df.index.values.tolist())" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "dimensions": [ + { + "label": "Year", + "values": [ + 2019, + 2018, + 2017, + 2016, + 2015, + 2014, + 2013, + 2012, + 2011, + 2010, + 2009, + 2008, + 2007, + 2006, + 2005, + 2004, + 2003, + 2002, + 2001 + ] + }, + { + "label": "Australia", + "values": [ + 12.6, + 12.4, + 12.2, + 12.1, + 12, + 11.8, + 11.8, + 11.8, + 11.6, + 11.5, + 11.6, + 11.4, + 11.6, + 11.2, + 11.4, + 11.3, + 11.1, + 11, + 10.9 + ] + }, + { + "label": "Belgium", + "values": [ + 11, + 10.9, + 11, + 11, + 11.1, + 11.2, + 11.2, + 11, + 11.1, + 11.2, + 11.4, + 10.9, + 10.9, + 10.8, + 10.8, + 10.9, + 11, + 11.1, + 10.9 + ] + }, + { + "label": "France", + "values": [ + 12.1, + 12, + 12.1, + 12.1, + 12, + 11.9, + 11.9, + 11.8, + 11.7, + 11.7, + 11.8, + 11.6, + 11.6, + 11.4, + 11.2, + 10.7, + 10.4, + 10.2, + 10.1 + ] + }, + { + "label": "Luxembourg", + "values": [ + 12.5, + 12.4, + 12.5, + 12.2, + 12.3, + 12.2, + 11.8, + 11.7, + 11.8, + 11.9, + 11.9, + 11.5, + 11.6, + 11.4, + 11.5, + 11.2, + 11.2, + 10.8, + 10.9 + ] + }, + { + "label": "Netherlands", + "values": [ + 11, + 11, + 11, + 11, + 10.8, + 10.8, + 10.7, + 10.9, + 10.9, + 11.1, + 11.1, + 10.8, + 10.8, + 10.7, + 10.7, + 10.9, + 11, + 10.9, + 10.7 + ] + } + ], + "domain": { + "x": [ + 0, + 1 + ], + "y": [ + 0, + 1 + ] + }, + "line": { + "color": [ + 2019, + 2018, + 2017, + 2016, + 2015, + 2014, + 2013, + 2012, + 2011, + 2010, + 2009, + 2008, + 2007, + 2006, + 2005, + 2004, + 2003, + 2002, + 2001 + ], + "coloraxis": "coloraxis" + }, + "name": "", + "type": "parcoords" + } + ], + "layout": { + "coloraxis": { + "colorbar": { + "title": { + "text": "Year" + } + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Top 5 countries with highest minimum wage" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot - Paralle Plot on Top 5 countries with highest minimum wage\n", + "\n", + "highest_minimum_wage_parallel = minimum_wage_df[['Australia','Belgium','France','Luxembourg','Netherlands']]\n", + "\n", + "highest_minimum_wage_parallel.reset_index(inplace=True);\n", + "\n", + "px.parallel_coordinates(highest_minimum_wage_parallel, color = 'Year', title= 'Top 5 countries with highest minimum wage')" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CountryLatLong
0Ireland53.412910-8.243890
1Spain40.463667-3.749220
2Australia-25.274398133.775136
3Turkey38.96374535.243322
4Luxembourg49.8152736.129583
\n", + "
" + ], + "text/plain": [ + " Country Lat Long\n", + "0 Ireland 53.412910 -8.243890\n", + "1 Spain 40.463667 -3.749220\n", + "2 Australia -25.274398 133.775136\n", + "3 Turkey 38.963745 35.243322\n", + "4 Luxembourg 49.815273 6.129583" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Load countries coordinates data\n", + "countries_file_path = Path(\"Resources/countries.csv\")\n", + "df_country_locations = pd.read_csv(countries_file_path)\n", + "df_country_locations.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Country=Ireland
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 53.41291 + ], + "legendgroup": "Ireland", + "lon": [ + -8.243889999999999 + ], + "marker": { + "color": "#636efa", + "size": [ + 137.66116611661167 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Ireland", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Spain
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 40.463667 + ], + "legendgroup": "Spain", + "lon": [ + -3.7492199999999998 + ], + "marker": { + "color": "#EF553B", + "size": [ + 161.671834625323 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Spain", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Australia
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + -25.274398 + ], + "legendgroup": "Australia", + "lon": [ + 133.775136 + ], + "marker": { + "color": "#00cc96", + "size": [ + 110.34744268077601 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Australia", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Turkey
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 38.963745 + ], + "legendgroup": "Turkey", + "lon": [ + 35.243322 + ], + "marker": { + "color": "#ab63fa", + "size": [ + 207.51907131011606 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Turkey", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Luxembourg
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 49.815273 + ], + "legendgroup": "Luxembourg", + "lon": [ + 6.129583 + ], + "marker": { + "color": "#FFA15A", + "size": [ + 111.23022222222222 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Luxembourg", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=New Zealand
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + -40.900557 + ], + "legendgroup": "New Zealand", + "lon": [ + 174.88597099999998 + ], + "marker": { + "color": "#19d3f3", + "size": [ + 126.3979797979798 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "New Zealand", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=United Kingdom
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 55.378051 + ], + "legendgroup": "United Kingdom", + "lon": [ + -3.435973 + ], + "marker": { + "color": "#FF6692", + "size": [ + 132.4169312169312 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "United Kingdom", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Mexico
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 23.634501 + ], + "legendgroup": "Mexico", + "lon": [ + -102.552784 + ], + "marker": { + "color": "#B6E880", + "size": [ + 1158.6481481481483 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Mexico", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Greece
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 39.074208 + ], + "legendgroup": "Greece", + "lon": [ + 21.824312 + ], + "marker": { + "color": "#FF97FF", + "size": [ + 243.92592592592592 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Greece", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Slovak Republic
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 48.669026 + ], + "legendgroup": "Slovak Republic", + "lon": [ + 19.699023999999998 + ], + "marker": { + "color": "#FECB52", + "size": [ + 434.49305555555554 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Slovak Republic", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Portugal
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 39.399871999999995 + ], + "legendgroup": "Portugal", + "lon": [ + -8.224454 + ], + "marker": { + "color": "#636efa", + "size": [ + 220.69488536155202 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Portugal", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=France
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 46.227638 + ], + "legendgroup": "France", + "lon": [ + 2.213749 + ], + "marker": { + "color": "#EF553B", + "size": [ + 114.90725436179982 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "France", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=United States
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 37.09024 + ], + "legendgroup": "United States", + "lon": [ + -95.712891 + ], + "marker": { + "color": "#00cc96", + "size": [ + 190.4627092846271 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "United States", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Japan
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 36.204824 + ], + "legendgroup": "Japan", + "lon": [ + 138.252924 + ], + "marker": { + "color": "#ab63fa", + "size": [ + 201.01847389558233 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Japan", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Netherlands
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 52.132633 + ], + "legendgroup": "Netherlands", + "lon": [ + 5.291266 + ], + "marker": { + "color": "#FFA15A", + "size": [ + 126.3979797979798 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Netherlands", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Estonia
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 58.595271999999994 + ], + "legendgroup": "Estonia", + "lon": [ + 25.013607 + ], + "marker": { + "color": "#19d3f3", + "size": [ + 267.38034188034186 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Estonia", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Hungary
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 47.162494 + ], + "legendgroup": "Hungary", + "lon": [ + 19.503304 + ], + "marker": { + "color": "#FF6692", + "size": [ + 252.7959595959596 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Hungary", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Poland
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 51.919438 + ], + "legendgroup": "Poland", + "lon": [ + 19.145135999999997 + ], + "marker": { + "color": "#B6E880", + "size": [ + 201.50402576489532 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Poland", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Czech Republic
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 49.817492 + ], + "legendgroup": "Czech Republic", + "lon": [ + 15.472961999999999 + ], + "marker": { + "color": "#FF97FF", + "size": [ + 239.72030651340995 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Czech Republic", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Canada
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 56.130366 + ], + "legendgroup": "Canada", + "lon": [ + -106.34677099999999 + ], + "marker": { + "color": "#FECB52", + "size": [ + 136.3115468409586 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Canada", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Korea
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 35.907757000000004 + ], + "legendgroup": "Korea", + "lon": [ + 127.766922 + ], + "marker": { + "color": "#636efa", + "size": [ + 161.671834625323 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Korea", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Slovenia
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 46.151241 + ], + "legendgroup": "Slovenia", + "lon": [ + 14.995463 + ], + "marker": { + "color": "#EF553B", + "size": [ + 175.99718706047818 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Slovenia", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Chile
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + -35.675146999999996 + ], + "legendgroup": "Chile", + "lon": [ + -71.542969 + ], + "marker": { + "color": "#00cc96", + "size": [ + 448.50896057347666 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Chile", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Israel
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 31.046051000000002 + ], + "legendgroup": "Israel", + "lon": [ + 34.851612 + ], + "marker": { + "color": "#ab63fa", + "size": [ + 201.50402576489532 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Israel", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Belgium
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 50.503887 + ], + "legendgroup": "Belgium", + "lon": [ + 4.469936 + ], + "marker": { + "color": "#FFA15A", + "size": [ + 126.3979797979798 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Belgium", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Brazil
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + -14.235004 + ], + "legendgroup": "Brazil", + "lon": [ + -51.92528 + ], + "marker": { + "color": "#19d3f3", + "size": [ + 662.084656084656 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Brazil", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Germany
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 51.165690999999995 + ], + "legendgroup": "Germany", + "lon": [ + 10.451526 + ], + "marker": { + "color": "#FF6692", + "size": [ + 117.82862523540489 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Germany", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Russian Federation
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 61.52401 + ], + "legendgroup": "Russian Federation", + "lon": [ + 105.31875600000001 + ], + "marker": { + "color": "#B6E880", + "size": [ + 579.3240740740741 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Russian Federation", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Lithuania
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 55.169438 + ], + "legendgroup": "Lithuania", + "lon": [ + 23.881275 + ], + "marker": { + "color": "#FF97FF", + "size": [ + 207.51907131011606 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Lithuania", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Latvia
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 56.879635 + ], + "legendgroup": "Latvia", + "lon": [ + 24.603189 + ], + "marker": { + "color": "#FECB52", + "size": [ + 323.343669250646 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Latvia", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Colombia
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 4.570868 + ], + "legendgroup": "Colombia", + "lon": [ + -74.297333 + ], + "marker": { + "color": "#636efa", + "size": [ + 514.9547325102881 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Colombia", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + }, + { + "hovertemplate": "Country=Costa Rica
work_hours=%{marker.size}
Lat=%{lat}
Long=%{lon}", + "lat": [ + 9.748917 + ], + "legendgroup": "Costa Rica", + "lon": [ + -83.753428 + ], + "marker": { + "color": "#EF553B", + "size": [ + 397.25079365079364 + ], + "sizemode": "area", + "sizeref": 11.586481481481483 + }, + "mode": "markers", + "name": "Costa Rica", + "showlegend": true, + "subplot": "mapbox", + "type": "scattermapbox" + } + ], + "layout": { + "height": 760, + "legend": { + "itemsizing": "constant", + "title": { + "text": "Country" + }, + "tracegroupgap": 0 + }, + "mapbox": { + "accesstoken": "pk.eyJ1Ijoidm1pZXJlcyIsImEiOiJja2dtbDh0OHAwOTdyMnJwdGJvcmdsdGUxIn0.SP7mDUM8LjLX9bVBTZYTyw", + "center": { + "lat": 34.70856371875, + "lon": 11.031374437500002 + }, + "domain": { + "x": [ + 0, + 1 + ], + "y": [ + 0, + 1 + ] + }, + "style": "light", + "zoom": 1 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Number of Hours to Purchase 1 oz of Gold in 2019" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot - Number of Hours to Purchase 1 oz of Gold in 2019 with mapbox\n", + "work_hours_mapbox = pd.DataFrame(work_hours.drop(columns=['Price']).loc[2019,:]).reset_index().rename(columns={'index':'Country', 2019:'work_hours'})\n", + "work_hours_mapbox_merged = pd.merge(df_country_locations, work_hours_mapbox)\n", + "s_title=\"Number of Hours to Purchase 1 oz of Gold in 2019\";\n", + "fig = px.scatter_mapbox(work_hours_mapbox_merged, lat=\"Lat\", lon=\"Long\", color=\"Country\", title= s_title, size=\"work_hours\",\n", + " size_max=10, height=760, zoom=1, range_color=(100,1200))\n", + "fig.update_layout(mapbox_style=\"light\", mapbox_accesstoken=mapbox_token)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pyvizenv2", + "language": "python", + "name": "pyvizenv2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/images/.ipynb_checkpoints/MC_fiveyear_dist_plot-checkpoint.png b/images/.ipynb_checkpoints/MC_fiveyear_dist_plot-checkpoint.png new file mode 100644 index 0000000..ee33472 Binary files /dev/null and b/images/.ipynb_checkpoints/MC_fiveyear_dist_plot-checkpoint.png differ diff --git a/images/MC_fiveyear_dist_plot.png b/images/MC_fiveyear_dist_plot.png new file mode 100644 index 0000000..ee33472 Binary files /dev/null and b/images/MC_fiveyear_dist_plot.png differ diff --git a/images/Montecarlo_simulation.png b/images/Montecarlo_simulation.png new file mode 100644 index 0000000..539b7a8 Binary files /dev/null and b/images/Montecarlo_simulation.png differ diff --git a/images/barchart.png b/images/barchart.png new file mode 100644 index 0000000..7636dd6 Binary files /dev/null and b/images/barchart.png differ diff --git a/images/gold_line_plot.png b/images/gold_line_plot.png new file mode 100644 index 0000000..d1e895f Binary files /dev/null and b/images/gold_line_plot.png differ diff --git a/images/goldstandard.jpg b/images/goldstandard.jpg new file mode 100644 index 0000000..3a7e944 Binary files /dev/null and b/images/goldstandard.jpg differ diff --git a/images/hourly_minimum_wage_from_2000_2019.png b/images/hourly_minimum_wage_from_2000_2019.png new file mode 100644 index 0000000..deb2762 Binary files /dev/null and b/images/hourly_minimum_wage_from_2000_2019.png differ diff --git a/images/hours_to_purchase_gold.png b/images/hours_to_purchase_gold.png new file mode 100644 index 0000000..7ac2b1f Binary files /dev/null and b/images/hours_to_purchase_gold.png differ diff --git a/images/map.png b/images/map.png new file mode 100644 index 0000000..b2f30ee Binary files /dev/null and b/images/map.png differ diff --git a/images/top _5_countries.png b/images/top _5_countries.png new file mode 100644 index 0000000..fded338 Binary files /dev/null and b/images/top _5_countries.png differ