rapidfireai 0.0.1__py3-none-any.whl → 0.9.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rapidfireai might be problematic. Click here for more details.

Files changed (320) hide show
  1. rapidfireai/__init__.py +11 -5
  2. rapidfireai/automl/__init__.py +20 -0
  3. rapidfireai/automl/base.py +48 -0
  4. rapidfireai/automl/datatypes.py +42 -0
  5. rapidfireai/automl/grid_search.py +125 -0
  6. rapidfireai/automl/model_config.py +102 -0
  7. rapidfireai/automl/random_search.py +145 -0
  8. rapidfireai/backend/__init__.py +0 -0
  9. rapidfireai/backend/chunks.py +63 -0
  10. rapidfireai/backend/controller.py +637 -0
  11. rapidfireai/backend/scheduler.py +137 -0
  12. rapidfireai/backend/worker.py +272 -0
  13. rapidfireai/cli.py +380 -0
  14. rapidfireai/db/__init__.py +0 -0
  15. rapidfireai/db/db_interface.py +135 -0
  16. rapidfireai/db/rf_db.py +694 -0
  17. rapidfireai/db/tables.sql +64 -0
  18. rapidfireai/dispatcher/dispatcher.py +391 -0
  19. rapidfireai/dispatcher/gunicorn.conf.py +25 -0
  20. rapidfireai/experiment.py +168 -0
  21. rapidfireai/frontend/build/asset-manifest.json +276 -0
  22. rapidfireai/frontend/build/favicon.ico +0 -0
  23. rapidfireai/frontend/build/index.html +1 -0
  24. rapidfireai/frontend/build/manifest.json +15 -0
  25. rapidfireai/frontend/build/pdf.worker.js +1 -0
  26. rapidfireai/frontend/build/report.html +39 -0
  27. rapidfireai/frontend/build/static/css/1482.3b7bf531.chunk.css +1 -0
  28. rapidfireai/frontend/build/static/css/2730.3f8937ff.chunk.css +1 -0
  29. rapidfireai/frontend/build/static/css/318.0def90a7.css +7 -0
  30. rapidfireai/frontend/build/static/css/4762.9b7b71f7.chunk.css +1 -0
  31. rapidfireai/frontend/build/static/css/4950.487ecc8b.chunk.css +1 -0
  32. rapidfireai/frontend/build/static/css/5170.2574ce9d.chunk.css +1 -0
  33. rapidfireai/frontend/build/static/css/6121.4d541986.chunk.css +1 -0
  34. rapidfireai/frontend/build/static/css/6343.dd6979f2.chunk.css +1 -0
  35. rapidfireai/frontend/build/static/css/6534.433c213f.chunk.css +1 -0
  36. rapidfireai/frontend/build/static/css/6920.ffac4b2a.css +2 -0
  37. rapidfireai/frontend/build/static/css/7246.bf2f0c87.css +9 -0
  38. rapidfireai/frontend/build/static/css/7367.dd6979f2.chunk.css +1 -0
  39. rapidfireai/frontend/build/static/css/8690.05d081e5.chunk.css +1 -0
  40. rapidfireai/frontend/build/static/css/9531.d0910d3c.chunk.css +1 -0
  41. rapidfireai/frontend/build/static/css/9780.363e4943.chunk.css +1 -0
  42. rapidfireai/frontend/build/static/css/main~d91a9049.c0be472c.css +1 -0
  43. rapidfireai/frontend/build/static/js/1000.e5ed264b.chunk.js +1 -0
  44. rapidfireai/frontend/build/static/js/1012.ac98ab59.chunk.js +1 -0
  45. rapidfireai/frontend/build/static/js/1079.6c13ac0d.js +1 -0
  46. rapidfireai/frontend/build/static/js/110.9059f3b8.chunk.js +1 -0
  47. rapidfireai/frontend/build/static/js/1142.872d0010.chunk.js +1 -0
  48. rapidfireai/frontend/build/static/js/1167.9a6da14c.chunk.js +1 -0
  49. rapidfireai/frontend/build/static/js/1248.60890b4f.chunk.js +1 -0
  50. rapidfireai/frontend/build/static/js/1262.83dc7673.chunk.js +1 -0
  51. rapidfireai/frontend/build/static/js/1273.56da3e13.chunk.js +2 -0
  52. rapidfireai/frontend/build/static/js/1273.56da3e13.chunk.js.LICENSE.txt +9 -0
  53. rapidfireai/frontend/build/static/js/1303.7d19305c.chunk.js +1 -0
  54. rapidfireai/frontend/build/static/js/1351.45076ff3.chunk.js +1 -0
  55. rapidfireai/frontend/build/static/js/1355.b896a592.js +1 -0
  56. rapidfireai/frontend/build/static/js/1357.02c46a02.chunk.js +1 -0
  57. rapidfireai/frontend/build/static/js/1470.c51d60c6.chunk.js +1 -0
  58. rapidfireai/frontend/build/static/js/1482.23b74f50.chunk.js +1 -0
  59. rapidfireai/frontend/build/static/js/1500.19799d8d.chunk.js +1 -0
  60. rapidfireai/frontend/build/static/js/1648.d3b9edc7.chunk.js +1 -0
  61. rapidfireai/frontend/build/static/js/1860.7d96e3f9.chunk.js +1 -0
  62. rapidfireai/frontend/build/static/js/1909.5b1d9ff4.chunk.js +1 -0
  63. rapidfireai/frontend/build/static/js/1928.44245110.chunk.js +2 -0
  64. rapidfireai/frontend/build/static/js/1928.44245110.chunk.js.LICENSE.txt +11 -0
  65. rapidfireai/frontend/build/static/js/1933.deba26ca.chunk.js +1 -0
  66. rapidfireai/frontend/build/static/js/21.aac92802.chunk.js +1 -0
  67. rapidfireai/frontend/build/static/js/2103.0ca12071.chunk.js +1 -0
  68. rapidfireai/frontend/build/static/js/2258.b3b8fab4.chunk.js +1 -0
  69. rapidfireai/frontend/build/static/js/2289.9ad51e87.chunk.js +1 -0
  70. rapidfireai/frontend/build/static/js/2323.7dd927d7.js +2 -0
  71. rapidfireai/frontend/build/static/js/2323.7dd927d7.js.LICENSE.txt +1 -0
  72. rapidfireai/frontend/build/static/js/2346.ed99ca72.chunk.js +1 -0
  73. rapidfireai/frontend/build/static/js/2386.0a660834.chunk.js +1 -0
  74. rapidfireai/frontend/build/static/js/2402.465048f9.chunk.js +1 -0
  75. rapidfireai/frontend/build/static/js/243.5a83bbca.chunk.js +1 -0
  76. rapidfireai/frontend/build/static/js/2589.68571e16.js +1 -0
  77. rapidfireai/frontend/build/static/js/2647.65092bab.chunk.js +1 -0
  78. rapidfireai/frontend/build/static/js/2691.65d4a4e7.js +1 -0
  79. rapidfireai/frontend/build/static/js/2730.b38dd6f3.chunk.js +1 -0
  80. rapidfireai/frontend/build/static/js/2746.ef752da4.chunk.js +1 -0
  81. rapidfireai/frontend/build/static/js/2779.580d4491.chunk.js +1 -0
  82. rapidfireai/frontend/build/static/js/2799.fe5993b2.chunk.js +1 -0
  83. rapidfireai/frontend/build/static/js/2844.9708db79.chunk.js +2 -0
  84. rapidfireai/frontend/build/static/js/2844.9708db79.chunk.js.LICENSE.txt +21 -0
  85. rapidfireai/frontend/build/static/js/2901.ee0c606b.chunk.js +1 -0
  86. rapidfireai/frontend/build/static/js/2932.7cc0689b.chunk.js +2 -0
  87. rapidfireai/frontend/build/static/js/2932.7cc0689b.chunk.js.LICENSE.txt +6 -0
  88. rapidfireai/frontend/build/static/js/2956.a393c8cc.chunk.js +1 -0
  89. rapidfireai/frontend/build/static/js/2972.679bed05.chunk.js +1 -0
  90. rapidfireai/frontend/build/static/js/2985.7e51cdfa.chunk.js +2 -0
  91. rapidfireai/frontend/build/static/js/2985.7e51cdfa.chunk.js.LICENSE.txt +51 -0
  92. rapidfireai/frontend/build/static/js/3093.488df653.js +1 -0
  93. rapidfireai/frontend/build/static/js/3145.66ee61b9.js +1 -0
  94. rapidfireai/frontend/build/static/js/3170.a22f966a.chunk.js +2 -0
  95. rapidfireai/frontend/build/static/js/3170.a22f966a.chunk.js.LICENSE.txt +21 -0
  96. rapidfireai/frontend/build/static/js/3307.f6fb258c.chunk.js +1 -0
  97. rapidfireai/frontend/build/static/js/3325.d5b03d65.js +1 -0
  98. rapidfireai/frontend/build/static/js/3334.2d6704df.chunk.js +2 -0
  99. rapidfireai/frontend/build/static/js/3334.2d6704df.chunk.js.LICENSE.txt +6 -0
  100. rapidfireai/frontend/build/static/js/3387.bb8edad3.chunk.js +1 -0
  101. rapidfireai/frontend/build/static/js/3448.438e6579.chunk.js +1 -0
  102. rapidfireai/frontend/build/static/js/3460.735eea87.chunk.js +1 -0
  103. rapidfireai/frontend/build/static/js/3505.7fd3921a.js +2 -0
  104. rapidfireai/frontend/build/static/js/3505.7fd3921a.js.LICENSE.txt +9 -0
  105. rapidfireai/frontend/build/static/js/3510.cd167a00.js +2 -0
  106. rapidfireai/frontend/build/static/js/3510.cd167a00.js.LICENSE.txt +18 -0
  107. rapidfireai/frontend/build/static/js/3563.cc828e19.chunk.js +1 -0
  108. rapidfireai/frontend/build/static/js/359.08960b84.chunk.js +2 -0
  109. rapidfireai/frontend/build/static/js/359.08960b84.chunk.js.LICENSE.txt +4 -0
  110. rapidfireai/frontend/build/static/js/3608.403b4b79.chunk.js +1 -0
  111. rapidfireai/frontend/build/static/js/3652.cb8add7f.js +1 -0
  112. rapidfireai/frontend/build/static/js/3775.5230b157.chunk.js +1 -0
  113. rapidfireai/frontend/build/static/js/3817.53555d18.js +2 -0
  114. rapidfireai/frontend/build/static/js/3817.53555d18.js.LICENSE.txt +18 -0
  115. rapidfireai/frontend/build/static/js/3835.d9946ff9.chunk.js +1 -0
  116. rapidfireai/frontend/build/static/js/3964.874f0297.chunk.js +1 -0
  117. rapidfireai/frontend/build/static/js/3968.275cbc3d.chunk.js +1 -0
  118. rapidfireai/frontend/build/static/js/3999.765cbd82.chunk.js +1 -0
  119. rapidfireai/frontend/build/static/js/4020.4452c046.chunk.js +1 -0
  120. rapidfireai/frontend/build/static/js/4138.2f6f6d9f.js +1 -0
  121. rapidfireai/frontend/build/static/js/4160.f424554c.js +1 -0
  122. rapidfireai/frontend/build/static/js/4180.50cea095.chunk.js +1 -0
  123. rapidfireai/frontend/build/static/js/4221.b0bba3f5.chunk.js +1 -0
  124. rapidfireai/frontend/build/static/js/4250.5bb49278.chunk.js +1 -0
  125. rapidfireai/frontend/build/static/js/4297.15777d8f.chunk.js +1 -0
  126. rapidfireai/frontend/build/static/js/4349.c965f2de.js +2 -0
  127. rapidfireai/frontend/build/static/js/4349.c965f2de.js.LICENSE.txt +1 -0
  128. rapidfireai/frontend/build/static/js/4484.4cbe5e7f.js +2 -0
  129. rapidfireai/frontend/build/static/js/4484.4cbe5e7f.js.LICENSE.txt +10 -0
  130. rapidfireai/frontend/build/static/js/4578.a8124588.js +1 -0
  131. rapidfireai/frontend/build/static/js/4596.89a97480.js +1 -0
  132. rapidfireai/frontend/build/static/js/4748.566f435a.chunk.js +1 -0
  133. rapidfireai/frontend/build/static/js/4762.928e8a90.chunk.js +1 -0
  134. rapidfireai/frontend/build/static/js/4768.7945be63.js +2 -0
  135. rapidfireai/frontend/build/static/js/4768.7945be63.js.LICENSE.txt +1 -0
  136. rapidfireai/frontend/build/static/js/4804.26b50dd4.chunk.js +1 -0
  137. rapidfireai/frontend/build/static/js/4850.62390a45.chunk.js +1 -0
  138. rapidfireai/frontend/build/static/js/4862.a0ccb221.chunk.js +1 -0
  139. rapidfireai/frontend/build/static/js/491.5dc8ed40.chunk.js +1 -0
  140. rapidfireai/frontend/build/static/js/492.9262f038.chunk.js +2 -0
  141. rapidfireai/frontend/build/static/js/492.9262f038.chunk.js.LICENSE.txt +6 -0
  142. rapidfireai/frontend/build/static/js/4943.6d345fd3.chunk.js +1 -0
  143. rapidfireai/frontend/build/static/js/4950.bc182e62.chunk.js +1 -0
  144. rapidfireai/frontend/build/static/js/5042.d4f0c65a.chunk.js +2 -0
  145. rapidfireai/frontend/build/static/js/5042.d4f0c65a.chunk.js.LICENSE.txt +6 -0
  146. rapidfireai/frontend/build/static/js/5170.0065e96f.chunk.js +1 -0
  147. rapidfireai/frontend/build/static/js/5222.35c74a52.js +2 -0
  148. rapidfireai/frontend/build/static/js/5222.35c74a52.js.LICENSE.txt +10 -0
  149. rapidfireai/frontend/build/static/js/5223.3224f019.chunk.js +2 -0
  150. rapidfireai/frontend/build/static/js/5223.3224f019.chunk.js.LICENSE.txt +3 -0
  151. rapidfireai/frontend/build/static/js/5229.7dd42316.chunk.js +1 -0
  152. rapidfireai/frontend/build/static/js/5286.4c1ad26b.js +1 -0
  153. rapidfireai/frontend/build/static/js/5486.21cff711.chunk.js +1 -0
  154. rapidfireai/frontend/build/static/js/5526.7b368956.chunk.js +1 -0
  155. rapidfireai/frontend/build/static/js/5605.1ee4d87b.chunk.js +1 -0
  156. rapidfireai/frontend/build/static/js/5682.40b42d8b.chunk.js +1 -0
  157. rapidfireai/frontend/build/static/js/5794.9433d867.chunk.js +1 -0
  158. rapidfireai/frontend/build/static/js/5826.38a56e8c.chunk.js +2 -0
  159. rapidfireai/frontend/build/static/js/5826.38a56e8c.chunk.js.LICENSE.txt +1 -0
  160. rapidfireai/frontend/build/static/js/5862.50f42a0b.js +1 -0
  161. rapidfireai/frontend/build/static/js/5895.e26742f1.chunk.js +1 -0
  162. rapidfireai/frontend/build/static/js/5919.edd4a5cf.chunk.js +1 -0
  163. rapidfireai/frontend/build/static/js/598.a0e792ae.js +1 -0
  164. rapidfireai/frontend/build/static/js/6058.74162bf9.chunk.js +1 -0
  165. rapidfireai/frontend/build/static/js/618.06051134.chunk.js +2 -0
  166. rapidfireai/frontend/build/static/js/618.06051134.chunk.js.LICENSE.txt +21 -0
  167. rapidfireai/frontend/build/static/js/6335.9fca442d.chunk.js +1 -0
  168. rapidfireai/frontend/build/static/js/6336.e05e1154.chunk.js +1 -0
  169. rapidfireai/frontend/build/static/js/6343.2bcd28ff.chunk.js +1 -0
  170. rapidfireai/frontend/build/static/js/6363.a319b8f2.chunk.js +1 -0
  171. rapidfireai/frontend/build/static/js/6478.344abf25.chunk.js +1 -0
  172. rapidfireai/frontend/build/static/js/6504.1c004564.js +1 -0
  173. rapidfireai/frontend/build/static/js/6534.ec7e149b.chunk.js +1 -0
  174. rapidfireai/frontend/build/static/js/6715.55a5c19c.chunk.js +1 -0
  175. rapidfireai/frontend/build/static/js/6756.e6cb993c.chunk.js +2 -0
  176. rapidfireai/frontend/build/static/js/6756.e6cb993c.chunk.js.LICENSE.txt +10 -0
  177. rapidfireai/frontend/build/static/js/6762.acfde9fd.chunk.js +2 -0
  178. rapidfireai/frontend/build/static/js/6762.acfde9fd.chunk.js.LICENSE.txt +19 -0
  179. rapidfireai/frontend/build/static/js/6846.67103d0e.chunk.js +1 -0
  180. rapidfireai/frontend/build/static/js/6861.34cf0198.chunk.js +1 -0
  181. rapidfireai/frontend/build/static/js/6899.0eaf36a8.chunk.js +2 -0
  182. rapidfireai/frontend/build/static/js/6899.0eaf36a8.chunk.js.LICENSE.txt +5 -0
  183. rapidfireai/frontend/build/static/js/6933.8b564944.chunk.js +1 -0
  184. rapidfireai/frontend/build/static/js/699.d0437920.js +1 -0
  185. rapidfireai/frontend/build/static/js/7076.4182f63a.chunk.js +1 -0
  186. rapidfireai/frontend/build/static/js/7186.42ad86d5.chunk.js +1 -0
  187. rapidfireai/frontend/build/static/js/7248.a46635fd.js +1 -0
  188. rapidfireai/frontend/build/static/js/725.6b15a14a.chunk.js +1 -0
  189. rapidfireai/frontend/build/static/js/7266.3575539d.chunk.js +1 -0
  190. rapidfireai/frontend/build/static/js/7270.0a1e84fc.chunk.js +2 -0
  191. rapidfireai/frontend/build/static/js/7270.0a1e84fc.chunk.js.LICENSE.txt +6 -0
  192. rapidfireai/frontend/build/static/js/7367.7120474f.chunk.js +1 -0
  193. rapidfireai/frontend/build/static/js/7436.8e226055.js +1 -0
  194. rapidfireai/frontend/build/static/js/7504.ef223844.chunk.js +1 -0
  195. rapidfireai/frontend/build/static/js/7603.ee049fe3.chunk.js +1 -0
  196. rapidfireai/frontend/build/static/js/7670.2835b49a.chunk.js +2 -0
  197. rapidfireai/frontend/build/static/js/7670.2835b49a.chunk.js.LICENSE.txt +6 -0
  198. rapidfireai/frontend/build/static/js/7721.7390b3cc.chunk.js +1 -0
  199. rapidfireai/frontend/build/static/js/7731.5796cced.chunk.js +1 -0
  200. rapidfireai/frontend/build/static/js/775.660a5deb.chunk.js +2 -0
  201. rapidfireai/frontend/build/static/js/775.660a5deb.chunk.js.LICENSE.txt +6 -0
  202. rapidfireai/frontend/build/static/js/7832.7976a3e4.chunk.js +1 -0
  203. rapidfireai/frontend/build/static/js/7844.72cc2e81.chunk.js +1 -0
  204. rapidfireai/frontend/build/static/js/7948.48eab032.js +1 -0
  205. rapidfireai/frontend/build/static/js/7972.085079d4.chunk.js +2 -0
  206. rapidfireai/frontend/build/static/js/7972.085079d4.chunk.js.LICENSE.txt +6 -0
  207. rapidfireai/frontend/build/static/js/8017.a9e7dc5a.chunk.js +1 -0
  208. rapidfireai/frontend/build/static/js/8023.75f1f3df.js +2 -0
  209. rapidfireai/frontend/build/static/js/8023.75f1f3df.js.LICENSE.txt +41 -0
  210. rapidfireai/frontend/build/static/js/8123.b69db974.js +1 -0
  211. rapidfireai/frontend/build/static/js/813.065a87e5.chunk.js +1 -0
  212. rapidfireai/frontend/build/static/js/819.2056f122.chunk.js +2 -0
  213. rapidfireai/frontend/build/static/js/819.2056f122.chunk.js.LICENSE.txt +6 -0
  214. rapidfireai/frontend/build/static/js/8262.04bc17d1.chunk.js +1 -0
  215. rapidfireai/frontend/build/static/js/8300.75adcc4f.chunk.js +1 -0
  216. rapidfireai/frontend/build/static/js/8336.b1d3e764.chunk.js +1 -0
  217. rapidfireai/frontend/build/static/js/8365.26cf64ea.chunk.js +1 -0
  218. rapidfireai/frontend/build/static/js/8398.8bca8e0e.chunk.js +2 -0
  219. rapidfireai/frontend/build/static/js/8398.8bca8e0e.chunk.js.LICENSE.txt +6 -0
  220. rapidfireai/frontend/build/static/js/847.33ceed50.chunk.js +2 -0
  221. rapidfireai/frontend/build/static/js/847.33ceed50.chunk.js.LICENSE.txt +6 -0
  222. rapidfireai/frontend/build/static/js/8486.8ec852a7.chunk.js +1 -0
  223. rapidfireai/frontend/build/static/js/8497.19378265.chunk.js +1 -0
  224. rapidfireai/frontend/build/static/js/8541.4c55c9f4.chunk.js +1 -0
  225. rapidfireai/frontend/build/static/js/8690.e305a804.chunk.js +2 -0
  226. rapidfireai/frontend/build/static/js/8690.e305a804.chunk.js.LICENSE.txt +6 -0
  227. rapidfireai/frontend/build/static/js/8712.a9445fe6.chunk.js +1 -0
  228. rapidfireai/frontend/build/static/js/8763.61761e08.js +1 -0
  229. rapidfireai/frontend/build/static/js/8823.baf9bffd.chunk.js +2 -0
  230. rapidfireai/frontend/build/static/js/8823.baf9bffd.chunk.js.LICENSE.txt +6 -0
  231. rapidfireai/frontend/build/static/js/8867.767462b7.chunk.js +1 -0
  232. rapidfireai/frontend/build/static/js/8953.c0f88dea.chunk.js +1 -0
  233. rapidfireai/frontend/build/static/js/8960.357cb1eb.chunk.js +2 -0
  234. rapidfireai/frontend/build/static/js/8960.357cb1eb.chunk.js.LICENSE.txt +6 -0
  235. rapidfireai/frontend/build/static/js/9.f4492795.chunk.js +2 -0
  236. rapidfireai/frontend/build/static/js/9.f4492795.chunk.js.LICENSE.txt +12 -0
  237. rapidfireai/frontend/build/static/js/9079.88a8d2a3.js +1 -0
  238. rapidfireai/frontend/build/static/js/9082.37c40520.chunk.js +10 -0
  239. rapidfireai/frontend/build/static/js/9133.90ae330d.js +2 -0
  240. rapidfireai/frontend/build/static/js/9133.90ae330d.js.LICENSE.txt +8 -0
  241. rapidfireai/frontend/build/static/js/9151.1ac359d5.js +2 -0
  242. rapidfireai/frontend/build/static/js/9151.1ac359d5.js.LICENSE.txt +8 -0
  243. rapidfireai/frontend/build/static/js/9168.027bf2fd.chunk.js +1 -0
  244. rapidfireai/frontend/build/static/js/9194.9c5cc548.chunk.js +10 -0
  245. rapidfireai/frontend/build/static/js/9244.026f4aee.chunk.js +1 -0
  246. rapidfireai/frontend/build/static/js/936.2e02d037.js +2 -0
  247. rapidfireai/frontend/build/static/js/936.2e02d037.js.LICENSE.txt +6 -0
  248. rapidfireai/frontend/build/static/js/9369.7d1a0a1d.chunk.js +1 -0
  249. rapidfireai/frontend/build/static/js/9427.7c8442e7.chunk.js +1 -0
  250. rapidfireai/frontend/build/static/js/944.55948859.chunk.js +1 -0
  251. rapidfireai/frontend/build/static/js/9499.c53a82da.js +2 -0
  252. rapidfireai/frontend/build/static/js/9499.c53a82da.js.LICENSE.txt +62 -0
  253. rapidfireai/frontend/build/static/js/9531.3ce05781.chunk.js +1 -0
  254. rapidfireai/frontend/build/static/js/9547.92fac952.chunk.js +2 -0
  255. rapidfireai/frontend/build/static/js/9547.92fac952.chunk.js.LICENSE.txt +6 -0
  256. rapidfireai/frontend/build/static/js/9620.b6e973a7.chunk.js +1 -0
  257. rapidfireai/frontend/build/static/js/9645.6fddfa65.chunk.js +1 -0
  258. rapidfireai/frontend/build/static/js/9669.d38dda6d.js +1 -0
  259. rapidfireai/frontend/build/static/js/9682.41b6b807.chunk.js +1 -0
  260. rapidfireai/frontend/build/static/js/9720.19d5ae76.chunk.js +2 -0
  261. rapidfireai/frontend/build/static/js/9720.19d5ae76.chunk.js.LICENSE.txt +23 -0
  262. rapidfireai/frontend/build/static/js/9723.d3c7fe9e.js +1 -0
  263. rapidfireai/frontend/build/static/js/9780.02a27630.chunk.js +10 -0
  264. rapidfireai/frontend/build/static/js/9808.d0ca9674.chunk.js +2 -0
  265. rapidfireai/frontend/build/static/js/9808.d0ca9674.chunk.js.LICENSE.txt +6 -0
  266. rapidfireai/frontend/build/static/js/9815.b8db3c5d.js +1 -0
  267. rapidfireai/frontend/build/static/js/9886.2940b53a.chunk.js +1 -0
  268. rapidfireai/frontend/build/static/js/main~1f912138.fa9d03b1.js +1 -0
  269. rapidfireai/frontend/build/static/js/main~43dd7041.2e00860d.js +1 -0
  270. rapidfireai/frontend/build/static/js/main~84781932.68deffff.js +1 -0
  271. rapidfireai/frontend/build/static/media/404-overflow.fad9a31861b0afba6f921ebb8e769688.svg +32 -0
  272. rapidfireai/frontend/build/static/media/RapidFire_Square_Bug.27ceb48296314a4bc0d4.png +0 -0
  273. rapidfireai/frontend/build/static/media/chart-bar.0fd4a63680fba840a7b69fbf07969f79.svg +7 -0
  274. rapidfireai/frontend/build/static/media/chart-contour.0d4b306f2669f3ad25375568935e3ce3.svg +5 -0
  275. rapidfireai/frontend/build/static/media/chart-difference.16174216d6f3b7c24f40e3541fe0ca2c.svg +20 -0
  276. rapidfireai/frontend/build/static/media/chart-image.cc434c4dc50780966344e2385a15f8fe.svg +6 -0
  277. rapidfireai/frontend/build/static/media/chart-line.0adaa2036bb4eb5956db6d0c7e925a3d.svg +4 -0
  278. rapidfireai/frontend/build/static/media/chart-parallel.da7dedf539b2af4b654d377c679173e4.svg +7 -0
  279. rapidfireai/frontend/build/static/media/chart-scatter.69118d0023a6ff3973f7fa913834ac47.svg +9 -0
  280. rapidfireai/frontend/build/static/media/default-error.f246ddf367c6fbd67942e5a13382a7f1.svg +26 -0
  281. rapidfireai/frontend/build/static/media/fontawesome-webfont.1e59d2330b4c6deb84b3.ttf +0 -0
  282. rapidfireai/frontend/build/static/media/fontawesome-webfont.20fd1704ea223900efa9.woff2 +0 -0
  283. rapidfireai/frontend/build/static/media/fontawesome-webfont.8b43027f47b20503057d.eot +0 -0
  284. rapidfireai/frontend/build/static/media/fontawesome-webfont.c1e38fd9e0e74ba58f7a.svg +2671 -0
  285. rapidfireai/frontend/build/static/media/fontawesome-webfont.f691f37e57f04c152e23.woff +0 -0
  286. rapidfireai/frontend/build/static/media/icon-visible-fill.8d34cd35303828fdfc15154f5536e63b.svg +7 -0
  287. rapidfireai/frontend/build/static/media/no-experiments.0e4f4a114ef73e7d81c09474aba64b6c.svg +22 -0
  288. rapidfireai/frontend/build/static/media/parallel-chart-placeholder.234ef0c5b220ef2a5a6fa5bafff173f7.svg +16 -0
  289. rapidfireai/frontend/build/static/media/permission-denied-lock.16036747d57cd663d7df223781a447b2.svg +14 -0
  290. rapidfireai/frontend/build/static/media/promo-modal-content.e3b2c6c568ac192b9bec54b838b54850.svg +30 -0
  291. rapidfireai/frontend/build/static/media/registered-model-grey-ok.8274b58d39504c8d1b8c358aa1c9aa35.svg +23 -0
  292. rapidfireai/frontend/build/static/media/warning.290a3b14118933547965e91ea61c5a61.svg +3 -0
  293. rapidfireai/frontend/proxy_middleware.py +233 -0
  294. rapidfireai/frontend/server.py +25 -0
  295. rapidfireai/ml/__init__.py +0 -0
  296. rapidfireai/ml/callbacks.py +176 -0
  297. rapidfireai/ml/checkpoint_utils.py +540 -0
  298. rapidfireai/ml/trainer.py +309 -0
  299. rapidfireai/start.sh +634 -0
  300. rapidfireai/utils/__init__.py +0 -0
  301. rapidfireai/utils/automl_utils.py +51 -0
  302. rapidfireai/utils/constants.py +141 -0
  303. rapidfireai/utils/datapaths.py +69 -0
  304. rapidfireai/utils/exceptions.py +82 -0
  305. rapidfireai/utils/experiment_utils.py +370 -0
  306. rapidfireai/utils/logging.py +87 -0
  307. rapidfireai/utils/mlflow_manager.py +121 -0
  308. rapidfireai/utils/serialize.py +15 -0
  309. rapidfireai/utils/shm_manager.py +469 -0
  310. rapidfireai/utils/trainer_config.py +23 -0
  311. rapidfireai/utils/worker_manager.py +219 -0
  312. rapidfireai/version.py +6 -0
  313. rapidfireai-0.9.10.dist-info/METADATA +247 -0
  314. rapidfireai-0.9.10.dist-info/RECORD +318 -0
  315. rapidfireai-0.9.10.dist-info/entry_points.txt +2 -0
  316. rapidfireai-0.0.1.dist-info/METADATA +0 -37
  317. rapidfireai-0.0.1.dist-info/RECORD +0 -6
  318. {rapidfireai-0.0.1.dist-info → rapidfireai-0.9.10.dist-info}/WHEEL +0 -0
  319. {rapidfireai-0.0.1.dist-info → rapidfireai-0.9.10.dist-info}/licenses/LICENSE +0 -0
  320. {rapidfireai-0.0.1.dist-info → rapidfireai-0.9.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_mlflow_mlflow=self.webpackChunk_mlflow_mlflow||[]).push([[1e3],{73580:function(e){e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc",description:["Determines how boxes at the same location coordinate","are displayed on the graph.","If *group*, the boxes are plotted next to one another","centered around the shared location.","If *overlay*, the boxes are plotted over one another,","you might need to set *opacity* to see them multiple boxes.","Has no effect on traces that have *width* set."].join(" ")},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc",description:["Sets the gap (in plot fraction) between boxes of","adjacent location coordinates.","Has no effect on traces that have *width* set."].join(" ")},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc",description:["Sets the gap (in plot fraction) between boxes of","the same location coordinate.","Has no effect on traces that have *width* set."].join(" ")}}},76763:function(e,t,a){var i=a(62282),o=a(47401),r=a(73580);function n(e,t,a,o,r){for(var n=r+"Layout",l=!1,s=0;s<a.length;s++){var c=a[s];if(i.traceIs(c,n)){l=!0;break}}l&&(o(r+"mode"),o(r+"gap"),o(r+"groupgap"))}e.exports={supplyLayoutDefaults:function(e,t,a){n(0,0,a,(function(a,i){return o.coerce(e,t,r,a,i)}),"box")},_supply:n}},11755:function(e,t,a){var i=a(62258),o=a(47401),r=a(41707),n=5,l=.01;function s(e,t,a,r){var n,l,s="h"===a.orientation,c=t.val,d=t.pos,h=!!d.rangebreaks,p=r.bPos,f=r.wdPos||0,u=r.bPosPxOffset||0,y=a.whiskerwidth||0,x=a.notched||!1,m=x?1-2*a.notchwidth:1;Array.isArray(r.bdPos)?(n=r.bdPos[0],l=r.bdPos[1]):(n=r.bdPos,l=r.bdPos);var v=e.selectAll("path.box").data("violin"!==a.type||a.box.visible?o.identity:[]);v.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),v.exit().remove(),v.each((function(e){if(e.empty)return"M0,0Z";var t=d.c2l(e.pos+p,!0),r=d.l2p(t-n)+u,v=d.l2p(t+l)+u,g=h?(r+v)/2:d.l2p(t)+u,b=a.whiskerwidth,T=h?r*b+(1-b)*g:d.l2p(t-f)+u,w=h?v*b+(1-b)*g:d.l2p(t+f)+u,k=d.l2p(t-n*m)+u,M=d.l2p(t+l*m)+u,_=c.c2p(e.q1,!0),S=c.c2p(e.q3,!0),j=o.constrain(c.c2p(e.med,!0),Math.min(_,S)+1,Math.max(_,S)-1),L=void 0===e.lf||!1===a.boxpoints,A=c.c2p(L?e.min:e.lf,!0),z=c.c2p(L?e.max:e.uf,!0),O=c.c2p(e.ln,!0),I=c.c2p(e.un,!0);s?i.select(this).attr("d","M"+j+","+k+"V"+M+"M"+_+","+r+"V"+v+(x?"H"+O+"L"+j+","+M+"L"+I+","+v:"")+"H"+S+"V"+r+(x?"H"+I+"L"+j+","+k+"L"+O+","+r:"")+"ZM"+_+","+g+"H"+A+"M"+S+","+g+"H"+z+(0===y?"":"M"+A+","+T+"V"+w+"M"+z+","+T+"V"+w)):i.select(this).attr("d","M"+k+","+j+"H"+M+"M"+r+","+_+"H"+v+(x?"V"+O+"L"+M+","+j+"L"+v+","+I:"")+"V"+S+"H"+r+(x?"V"+I+"L"+k+","+j+"L"+r+","+O:"")+"ZM"+g+","+_+"V"+A+"M"+g+","+S+"V"+z+(0===y?"":"M"+T+","+A+"H"+w+"M"+T+","+z+"H"+w))}))}function c(e,t,a,i){var s=t.x,c=t.y,d=i.bdPos,h=i.bPos,p=a.boxpoints||a.points;o.seedPseudoRandom();var f=e.selectAll("g.points").data(p?function(e){return e.forEach((function(e){e.t=i,e.trace=a})),e}:[]);f.enter().append("g").attr("class","points"),f.exit().remove();var u=f.selectAll("path").data((function(e){var t,i,r=e.pts2,s=Math.max((e.max-e.min)/10,e.q3-e.q1),c=1e-9*s,f=s*l,u=[],y=0;if(a.jitter){if(0===s)for(y=1,u=new Array(r.length),t=0;t<r.length;t++)u[t]=1;else for(t=0;t<r.length;t++){var x=Math.max(0,t-n),m=r[x].v,v=Math.min(r.length-1,t+n),g=r[v].v;"all"!==p&&(r[t].v<e.lf?g=Math.min(g,e.lf):m=Math.max(m,e.uf));var b=Math.sqrt(f*(v-x)/(g-m+c))||0;b=o.constrain(Math.abs(b),0,1),u.push(b),y=Math.max(b,y)}i=2*a.jitter/(y||1)}for(t=0;t<r.length;t++){var T=r[t],w=T.v,k=a.jitter?i*u[t]*(o.pseudoRandom()-.5):0,M=e.pos+h+d*(a.pointpos+k);"h"===a.orientation?(T.y=M,T.x=w):(T.x=M,T.y=w),"suspectedoutliers"===p&&w<e.uo&&w>e.lo&&(T.so=!0)}return r}));u.enter().append("path").classed("point",!0),u.exit().remove(),u.call(r.translatePoints,s,c)}function d(e,t,a,r){var n,l,s=t.val,c=t.pos,d=!!c.rangebreaks,h=r.bPos,p=r.bPosPxOffset||0,f=a.boxmean||(a.meanline||{}).visible;Array.isArray(r.bdPos)?(n=r.bdPos[0],l=r.bdPos[1]):(n=r.bdPos,l=r.bdPos);var u=e.selectAll("path.mean").data("box"===a.type&&a.boxmean||"violin"===a.type&&a.box.visible&&a.meanline.visible?o.identity:[]);u.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),u.exit().remove(),u.each((function(e){var t=c.c2l(e.pos+h,!0),o=c.l2p(t-n)+p,r=c.l2p(t+l)+p,u=d?(o+r)/2:c.l2p(t)+p,y=s.c2p(e.mean,!0),x=s.c2p(e.mean-e.sd,!0),m=s.c2p(e.mean+e.sd,!0);"h"===a.orientation?i.select(this).attr("d","M"+y+","+o+"V"+r+("sd"===f?"m0,0L"+x+","+u+"L"+y+","+o+"L"+m+","+u+"Z":"")):i.select(this).attr("d","M"+o+","+y+"H"+r+("sd"===f?"m0,0L"+u+","+x+"L"+o+","+y+"L"+u+","+m+"Z":""))}))}e.exports={plot:function(e,t,a,r){var n=t.xaxis,l=t.yaxis;o.makeTraceGroups(r,a,"trace boxes").each((function(e){var t,a,o=i.select(this),r=e[0],h=r.t,p=r.trace;(h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty)?o.remove():("h"===p.orientation?(t=l,a=n):(t=n,a=l),s(o,{pos:t,val:a},p,h),c(o,{x:n,y:l},p,h),d(o,{pos:t,val:a},p,h))}))},plotBoxAndWhiskers:s,plotPoints:c,plotBoxMean:d}},10168:function(e){e.exports=function(e,t){var a,i,o=e.cd,r=e.xaxis,n=e.yaxis,l=[];if(!1===t)for(a=0;a<o.length;a++)for(i=0;i<(o[a].pts||[]).length;i++)o[a].pts[i].selected=0;else for(a=0;a<o.length;a++)for(i=0;i<(o[a].pts||[]).length;i++){var s=o[a].pts[i],c=r.c2p(s.x),d=n.c2p(s.y);t.contains([c,d],null,s.i,e)?(l.push({pointNumber:s.i,x:r.c2d(s.x),y:n.c2d(s.y)}),s.selected=1):s.selected=0}return l}},49563:function(e,t,a){var i=a(62258),o=a(31454),r=a(41707);e.exports={style:function(e,t,a){var n=a||i.select(e).selectAll("g.trace.boxes");n.style("opacity",(function(e){return e[0].trace.opacity})),n.each((function(t){var a=i.select(this),n=t[0].trace,l=n.line.width;function s(e,t,a,i){e.style("stroke-width",t+"px").call(o.stroke,a).call(o.fill,i)}var c=a.selectAll("path.box");if("candlestick"===n.type)c.each((function(e){if(!e.empty){var t=i.select(this),a=n[e.dir];s(t,a.line.width,a.line.color,a.fillcolor),t.style("opacity",n.selectedpoints&&!e.selected?.3:1)}}));else{s(c,l,n.line.color,n.fillcolor),a.selectAll("path.mean").style({"stroke-width":l,"stroke-dasharray":2*l+"px,"+l+"px"}).call(o.stroke,n.line.color);var d=a.selectAll("path.point");r.pointStyle(d,n,e)}}))},styleOnSelect:function(e,t,a){var i=t[0].trace,o=a.selectAll("path.point");i.selectedpoints?r.selectedPointStyle(o,i):r.pointStyle(o,i,e)}}},20975:function(e,t,a){var i=a(47401).extendFlat,o=a(20184).axisHoverFormat,r=a(24610),n=a(69089);function l(e){return{line:{color:i({},n.line.color,{dflt:e}),width:n.line.width,editType:"style"},fillcolor:n.fillcolor,editType:"style"}}e.exports={xperiod:r.xperiod,xperiod0:r.xperiod0,xperiodalignment:r.xperiodalignment,xhoverformat:o("x"),yhoverformat:o("y"),x:r.x,open:r.open,high:r.high,low:r.low,close:r.close,line:{width:i({},n.line.width,{description:[n.line.width.description,"Note that this style setting can also be set per","direction via `increasing.line.width` and","`decreasing.line.width`."].join(" ")}),editType:"style"},increasing:l(r.increasing.line.color.dflt),decreasing:l(r.decreasing.line.color.dflt),text:r.text,hovertext:r.hovertext,whiskerwidth:i({},n.whiskerwidth,{dflt:0}),hoverlabel:r.hoverlabel}},16623:function(e,t,a){var i=a(47401),o=a(37762),r=a(48128),n=a(23582).calcCommon;function l(e,t,a,i){return{min:a,q1:Math.min(e,i),med:i,q3:Math.max(e,i),max:t}}e.exports=function(e,t){var a=e._fullLayout,s=o.getFromId(e,t.xaxis),c=o.getFromId(e,t.yaxis),d=s.makeCalcdata(t,"x"),h=r(t,s,"x",d).vals,p=n(e,t,d,h,c,l);return p.length?(i.extendFlat(p[0].t,{num:a._numBoxes,dPos:i.distinctVals(h).minDiff/2,posLetter:"x",valLetter:"y"}),a._numBoxes++,p):[{t:{empty:!0}}]}},58408:function(e,t,a){var i=a(47401),o=a(31454),r=a(76510),n=a(75781),l=a(20975);function s(e,t,a,i){var r=a(i+".line.color");a(i+".line.width",t.line.width),a(i+".fillcolor",o.addOpacity(r,.5))}e.exports=function(e,t,a,o){function c(a,o){return i.coerce(e,t,l,a,o)}r(e,t,c,o)?(n(e,t,o,c,{x:!0}),c("xhoverformat"),c("yhoverformat"),c("line.width"),s(e,t,c,"increasing"),s(e,t,c,"decreasing"),c("text"),c("hovertext"),c("whiskerwidth"),o._requestRangeslider[t.xaxis]=!0):t.visible=!1}},73764:function(e,t,a){e.exports={moduleType:"trace",name:"candlestick",basePlotModule:a(66807),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{description:["The candlestick is a style of financial chart describing","open, high, low and close for a given `x` coordinate (most likely time).","The boxes represent the spread between the `open` and `close` values and","the lines represent the spread between the `low` and `high` values","Sample points where the close value is higher (lower) then the open","value are called increasing (decreasing).","By default, increasing candles are drawn in green whereas","decreasing are drawn in red."].join(" ")},attributes:a(20975),layoutAttributes:a(73580),supplyLayoutDefaults:a(76763).supplyLayoutDefaults,crossTraceCalc:a(32854).crossTraceCalc,supplyDefaults:a(58408),calc:a(16623),plot:a(11755).plot,layerName:"boxlayer",style:a(49563).style,hoverPoints:a(66797).hoverPoints,selectPoints:a(35695)}},29952:function(e,t,a){var i=a(73926),o=a(92704);e.exports=function(e,t,a,r,n){r("a")||(r("da"),r("a0")),r("b")||(r("db"),r("b0")),function(e,t,a,r){["aaxis","baxis"].forEach((function(n){var l=n.charAt(0),s=e[n]||{},c=o.newContainer(t,n),d={tickfont:"x",id:l+"axis",letter:l,font:t.font,name:n,data:e[l],calendar:t.calendar,dfltColor:r,bgColor:a.paper_bgcolor,autotypenumbersDflt:a.autotypenumbers,fullLayout:a};i(s,c,d),c._categories=c._categories||[],e[n]||"-"===s.type||(e[n]={type:s.type})}))}(e,t,a,n)}},54284:function(e,t,a){var i=a(47401).isArrayOrTypedArray;function o(e,t){if(!i(e)||t>=10)return null;for(var a=1/0,r=-1/0,n=e.length,l=0;l<n;l++){var s=e[l];if(i(s)){var c=o(s,t+1);c&&(a=Math.min(c[0],a),r=Math.max(c[1],r))}else a=Math.min(s,a),r=Math.max(s,r)}return[a,r]}e.exports=function(e){return o(e,0)}},74545:function(e,t,a){var i=a(5153),o=a(15393),r=a(62405),n=i({editType:"calc",description:"The default font used for axis & tick labels on this carpet"});n.family.dflt='"Open Sans", verdana, arial, sans-serif',n.size.dflt=12,n.color.dflt=r.defaultLine,e.exports={carpet:{valType:"string",editType:"calc",description:["An identifier for this carpet, so that `scattercarpet` and","`contourcarpet` traces can specify a carpet plot on which","they lie"].join(" ")},x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["A two dimensional array of x coordinates at each carpet point.","If omitted, the plot is a cheater plot and the xaxis is hidden","by default."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:"A two dimensional array of y coordinates at each carpet point."},a:{valType:"data_array",editType:"calc",description:["An array containing values of the first parameter value"].join(" ")},a0:{valType:"number",dflt:0,editType:"calc",description:["Alternate to `a`.","Builds a linear space of a coordinates.","Use with `da`","where `a0` is the starting coordinate and `da` the step."].join(" ")},da:{valType:"number",dflt:1,editType:"calc",description:["Sets the a coordinate step.","See `a0` for more info."].join(" ")},b:{valType:"data_array",editType:"calc",description:"A two dimensional array of y coordinates at each carpet point."},b0:{valType:"number",dflt:0,editType:"calc",description:["Alternate to `b`.","Builds a linear space of a coordinates.","Use with `db`","where `b0` is the starting coordinate and `db` the step."].join(" ")},db:{valType:"number",dflt:1,editType:"calc",description:["Sets the b coordinate step.","See `b0` for more info."].join(" ")},cheaterslope:{valType:"number",dflt:1,editType:"calc",description:["The shift applied to each successive row of data in creating a cheater plot.","Only used if `x` is been omitted."].join(" ")},aaxis:o,baxis:o,font:n,color:{valType:"color",dflt:r.defaultLine,editType:"plot",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},transforms:void 0}},19623:function(e,t,a){var i=a(47401).isArrayOrTypedArray;e.exports=function(e,t,a,o){var r,n,l,s,c,d,h,p,f,u,y,x,m,v=i(a)?"a":"b",g=("a"===v?e.aaxis:e.baxis).smoothing,b="a"===v?e.a2i:e.b2j,T="a"===v?a:o,w="a"===v?o:a,k="a"===v?t.a.length:t.b.length,M="a"===v?t.b.length:t.a.length,_=Math.floor("a"===v?e.b2j(w):e.a2i(w)),S="a"===v?function(t){return e.evalxy([],t,_)}:function(t){return e.evalxy([],_,t)};g&&(l=Math.max(0,Math.min(M-2,_)),s=_-l,n="a"===v?function(t,a){return e.dxydi([],t,l,a,s)}:function(t,a){return e.dxydj([],l,t,s,a)});var j=b(T[0]),L=b(T[1]),A=j<L?1:-1,z=1e-8*(L-j),O=A>0?Math.floor:Math.ceil,I=A>0?Math.ceil:Math.floor,P=A>0?Math.min:Math.max,D=A>0?Math.max:Math.min,F=O(j+z),N=I(L-z),C=[[h=S(j)]];for(r=F;r*A<N*A;r+=A)c=[],y=D(j,r),m=(x=P(L,r+A))-y,d=Math.max(0,Math.min(k-2,Math.floor(.5*(y+x)))),p=S(x),g&&(f=n(d,y-d),u=n(d,x-d),c.push([h[0]+f[0]/3*m,h[1]+f[1]/3*m]),c.push([p[0]-u[0]/3*m,p[1]-u[1]/3*m])),c.push(p),C.push(c),h=p;return C}},15393:function(e,t,a){var i=a(5153),o=a(62405),r=a(33333),n=a(20184).descriptionWithDates,l=a(17342).overrideAll;e.exports={color:{valType:"color",editType:"calc",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc",description:["Sets the title of this axis.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:i({editType:"calc",description:["Sets this axis' title font.","Note that the title's font used to be set","by the now deprecated `titlefont` attribute."].join(" ")}),offset:{valType:"number",dflt:10,editType:"calc",description:["An additional amount by which to offset the title from the tick","labels, given in pixels.","Note that this used to be set","by the now deprecated `titleoffset` attribute."].join(" ")},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc",description:["Sets the axis type.","By default, plotly attempts to determined the axis type","by looking into the data of the traces that referenced","the axis in question."].join(" ")},autotypenumbers:r.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc",description:["Determines whether or not the range of this axis is","computed in relation to the input data.","See `rangemode` for more info.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc",description:["If *normal*, the range is computed in relation to the extrema","of the input data.","If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data."].join(" ")},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],description:["Sets the range of this axis.","If the axis `type` is *log*, then you must take the log of your","desired range (e.g. to set the range from 1 to 100,","set the range from 0 to 2).","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},fixedrange:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not this axis is zoom-able.","If true, then zoom is disabled."].join(" ")},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc",description:["Specifies the maximum number of ticks for the particular axis.","The actual number of ticks will be chosen automatically to be","less than or equal to `nticks`.","Has an effect only if `tickmode` is set to *auto*."].join(" ")},tickvals:{valType:"data_array",editType:"calc",description:["Sets the values at which ticks on this axis appear.","Only has an effect if `tickmode` is set to *array*.","Used with `ticktext`."].join(" ")},ticktext:{valType:"data_array",editType:"calc",description:["Sets the text displayed at the ticks position via `tickvals`.","Only has an effect if `tickmode` is set to *array*.","Used with `tickvals`."].join(" ")},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc",description:["Determines whether axis labels are drawn on the low side,","the high side, both, or neither side of the axis."].join(" ")},tickfont:i({editType:"calc",description:"Sets the tick font."}),tickangle:{valType:"angle",dflt:"auto",editType:"calc",description:["Sets the angle of the tick labels with respect to the horizontal.","For example, a `tickangle` of -90 draws the tick labels","vertically."].join(" ")},tickprefix:{valType:"string",dflt:"",editType:"calc",description:"Sets a tick label prefix."},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc",description:["If *all*, all tick labels are displayed with a prefix.","If *first*, only the first tick is displayed with a prefix.","If *last*, only the last tick is displayed with a suffix.","If *none*, tick prefixes are hidden."].join(" ")},ticksuffix:{valType:"string",dflt:"",editType:"calc",description:"Sets a tick label suffix."},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc",description:"Same as `showtickprefix` but for tick suffixes."},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc",description:["If *all*, all exponents are shown besides their significands.","If *first*, only the exponent of the first tick is shown.","If *last*, only the exponent of the last tick is shown.","If *none*, no exponents appear."].join(" ")},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc",description:["Determines a formatting rule for the tick exponents.","For example, consider the number 1,000,000,000.","If *none*, it appears as 1,000,000,000.","If *e*, 1e+9.","If *E*, 1E+9.","If *power*, 1x10^9 (with 9 in a super script).","If *SI*, 1G.","If *B*, 1B."].join(" ")},minexponent:{valType:"number",dflt:3,min:0,editType:"calc",description:["Hide SI prefix for 10^n if |n| is below this number"].join(" ")},separatethousands:{valType:"boolean",dflt:!1,editType:"calc",description:['If "true", even 4-digit integers are separated'].join(" ")},tickformat:{valType:"string",dflt:"",editType:"calc",description:n("tick label")},tickformatstops:l(r.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the case of categorical variables.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories on this axis appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},labelpadding:{valType:"integer",dflt:10,editType:"calc",description:"Extra padding between label and the axis"},labelprefix:{valType:"string",editType:"calc",description:"Sets a axis label prefix."},labelsuffix:{valType:"string",dflt:"",editType:"calc",description:"Sets a axis label suffix."},showline:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not a line bounding this axis is drawn."].join(" ")},linecolor:{valType:"color",dflt:o.defaultLine,editType:"calc",description:"Sets the axis line color."},linewidth:{valType:"number",min:0,dflt:1,editType:"calc",description:"Sets the width (in px) of the axis line."},gridcolor:{valType:"color",editType:"calc",description:"Sets the axis line color."},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc",description:"Sets the width (in px) of the axis line."},showgrid:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether or not grid lines are drawn.","If *true*, the grid lines are drawn at every tick mark."].join(" ")},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc",description:"Sets the number of minor grid ticks per major grid tick"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc",description:"Sets the width (in px) of the grid lines."},minorgridcolor:{valType:"color",dflt:o.lightLine,editType:"calc",description:"Sets the color of the grid lines."},startline:{valType:"boolean",editType:"calc",description:["Determines whether or not a line is drawn at along the starting value","of this axis.","If *true*, the start line is drawn on top of the grid lines."].join(" ")},startlinecolor:{valType:"color",editType:"calc",description:"Sets the line color of the start line."},startlinewidth:{valType:"number",dflt:1,editType:"calc",description:"Sets the width (in px) of the start line."},endline:{valType:"boolean",editType:"calc",description:["Determines whether or not a line is drawn at along the final value","of this axis.","If *true*, the end line is drawn on top of the grid lines."].join(" ")},endlinewidth:{valType:"number",dflt:1,editType:"calc",description:"Sets the width (in px) of the end line."},endlinecolor:{valType:"color",editType:"calc",description:"Sets the line color of the end line."},tick0:{valType:"number",min:0,dflt:0,editType:"calc",description:"The starting index of grid lines along the axis"},dtick:{valType:"number",min:0,dflt:1,editType:"calc",description:"The stride between grid lines along the axis"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc",description:"The starting index of grid lines along the axis"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc",description:"The stride between grid lines along the axis"},_deprecated:{title:{valType:"string",editType:"calc",description:["Deprecated in favor of `title.text`.","Note that value of `title` is no longer a simple","*string* but a set of sub-attributes."].join(" ")},titlefont:i({editType:"calc",description:"Deprecated in favor of `title.font`."}),titleoffset:{valType:"number",dflt:10,editType:"calc",description:"Deprecated in favor of `title.offset`."}},editType:"calc"}},73926:function(e,t,a){var i=a(74545),o=a(31454).addOpacity,r=a(62282),n=a(47401),l=a(37801),s=a(51860),c=a(91289),d=a(58947),h=a(60210);e.exports=function(e,t,a){var p=a.letter,f=a.font||{},u=i[p+"axis"];function y(a,i){return n.coerce(e,t,u,a,i)}function x(a,i){return n.coerce2(e,t,u,a,i)}a.name&&(t._name=a.name,t._id=a.name),y("autotypenumbers",a.autotypenumbersDflt);var m=y("type");("-"===m&&(a.data&&function(e,t){if("-"!==e.type)return;var a=e._id.charAt(0),i=e[a+"calendar"];e.type=h(t,i,{autotypenumbers:e.autotypenumbers})}(t,a.data),"-"===t.type?t.type="linear":m=e.type=t.type),y("smoothing"),y("cheatertype"),y("showticklabels"),y("labelprefix",p+" = "),y("labelsuffix"),y("showtickprefix"),y("showticksuffix"),y("separatethousands"),y("tickformat"),y("exponentformat"),y("minexponent"),y("showexponent"),y("categoryorder"),y("tickmode"),y("tickvals"),y("ticktext"),y("tick0"),y("dtick"),"array"===t.tickmode&&(y("arraytick0"),y("arraydtick")),y("labelpadding"),t._hovertitle=p,"date"===m)&&r.getComponentMethod("calendars","handleDefaults")(e,t,"calendar",a.calendar);d(t,a.fullLayout),t.c2p=n.identity;var v=y("color",a.dfltColor),g=v===e.color?v:f.color;y("title.text")&&(n.coerceFont(y,"title.font",{family:f.family,size:n.bigFont(f.size),color:g}),y("title.offset")),y("tickangle"),y("autorange",!t.isValidRange(e.range))&&y("rangemode"),y("range"),t.cleanRange(),y("fixedrange"),l(e,t,y,m),s(e,t,y,m,a),c(e,t,y,{data:a.data,dataAttr:p});var b=x("gridcolor",o(v,.3)),T=x("gridwidth"),w=y("showgrid");w||(delete t.gridcolor,delete t.gridwidth);var k=x("startlinecolor",v),M=x("startlinewidth",T);y("startline",t.showgrid||!!k||!!M)||(delete t.startlinecolor,delete t.startlinewidth);var _=x("endlinecolor",v),S=x("endlinewidth",T);return y("endline",t.showgrid||!!_||!!S)||(delete t.endlinecolor,delete t.endlinewidth),w?(y("minorgridcount"),y("minorgridwidth",T),y("minorgridcolor",o(b,.06)),t.minorgridcount||(delete t.minorgridwidth,delete t.minorgridcolor)):(delete t.gridcolor,delete t.gridWidth),"none"===t.showticklabels&&(delete t.tickfont,delete t.tickangle,delete t.showexponent,delete t.exponentformat,delete t.minexponent,delete t.tickformat,delete t.showticksuffix,delete t.showtickprefix),t.showticksuffix||delete t.ticksuffix,t.showtickprefix||delete t.tickprefix,y("tickmode"),t}},6965:function(e,t,a){var i=a(37762),o=a(47401).isArray1D,r=a(56331),n=a(54284),l=a(19777),s=a(8947),c=a(40061),d=a(21605),h=a(47263),p=a(48877),f=a(81210);e.exports=function(e,t){var a=i.getFromId(e,t.xaxis),u=i.getFromId(e,t.yaxis),y=t.aaxis,x=t.baxis,m=t.x,v=t.y,g=[];m&&o(m)&&g.push("x"),v&&o(v)&&g.push("y"),g.length&&p(t,y,x,"a","b",g);var b=t._a=t._a||t.a,T=t._b=t._b||t.b;m=t._x||t.x,v=t._y||t.y;var w={};if(t._cheater){var k="index"===y.cheatertype?b.length:b,M="index"===x.cheatertype?T.length:T;m=r(k,M,t.cheaterslope)}t._x=m=d(m),t._y=v=d(v),h(m,b,T),h(v,b,T),f(t),t.setScale();var _=n(m),S=n(v),j=.5*(_[1]-_[0]),L=.5*(_[1]+_[0]),A=.5*(S[1]-S[0]),z=.5*(S[1]+S[0]),O=1.3;return _=[L-j*O,L+j*O],S=[z-A*O,z+A*O],t._extremes[a._id]=i.findExtremes(a,_,{padded:!0}),t._extremes[u._id]=i.findExtremes(u,S,{padded:!0}),l(t,"a","b"),l(t,"b","a"),s(t,y),s(t,x),w.clipsegments=c(t._xctrl,t._yctrl,y,x),w.x=m,w.y=v,w.a=b,w.b=T,[w]}},40061:function(e){e.exports=function(e,t,a,i){var o,r,n,l=[],s=!!a.smoothing,c=!!i.smoothing,d=e[0].length-1,h=e.length-1;for(o=0,r=[],n=[];o<=d;o++)r[o]=e[0][o],n[o]=t[0][o];for(l.push({x:r,y:n,bicubic:s}),o=0,r=[],n=[];o<=h;o++)r[o]=e[o][d],n[o]=t[o][d];for(l.push({x:r,y:n,bicubic:c}),o=d,r=[],n=[];o>=0;o--)r[d-o]=e[h][o],n[d-o]=t[h][o];for(l.push({x:r,y:n,bicubic:s}),o=h,r=[],n=[];o>=0;o--)r[h-o]=e[o][0],n[h-o]=t[o][0];return l.push({x:r,y:n,bicubic:c}),l}},19777:function(e,t,a){var i=a(37762),o=a(87241).extendFlat;e.exports=function(e,t,a){var r,n,l,s,c,d,h,p,f,u,y,x,m,v,g=e["_"+t],b=e[t+"axis"],T=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=e["_"+a],_=e[a+"axis"];"array"===b.tickmode&&(b.tickvals=g.slice());var S=e._xctrl,j=e._yctrl,L=S[0].length,A=S.length,z=e._a.length,O=e._b.length;i.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var I=b.smoothing?3:1;function P(i){var o,r,n,l,s,c,d,h,f,u,y,x,m=[],v=[],g={};if("b"===t)for(r=e.b2j(i),n=Math.floor(Math.max(0,Math.min(O-2,r))),l=r-n,g.length=O,g.crossLength=z,g.xy=function(t){return e.evalxy([],t,r)},g.dxy=function(t,a){return e.dxydi([],t,n,a,l)},o=0;o<z;o++)c=Math.min(z-2,o),d=o-c,h=e.evalxy([],o,r),_.smoothing&&o>0&&(f=e.dxydi([],o-1,n,0,l),m.push(s[0]+f[0]/3),v.push(s[1]+f[1]/3),u=e.dxydi([],o-1,n,1,l),m.push(h[0]-u[0]/3),v.push(h[1]-u[1]/3)),m.push(h[0]),v.push(h[1]),s=h;else for(o=e.a2i(i),c=Math.floor(Math.max(0,Math.min(z-2,o))),d=o-c,g.length=z,g.crossLength=O,g.xy=function(t){return e.evalxy([],o,t)},g.dxy=function(t,a){return e.dxydj([],c,t,d,a)},r=0;r<O;r++)n=Math.min(O-2,r),l=r-n,h=e.evalxy([],o,r),_.smoothing&&r>0&&(y=e.dxydj([],c,r-1,d,0),m.push(s[0]+y[0]/3),v.push(s[1]+y[1]/3),x=e.dxydj([],c,r-1,d,1),m.push(h[0]-x[0]/3),v.push(h[1]-x[1]/3)),m.push(h[0]),v.push(h[1]),s=h;return g.axisLetter=t,g.axis=b,g.crossAxis=_,g.value=i,g.constvar=a,g.index=p,g.x=m,g.y=v,g.smoothing=_.smoothing,g}function D(i){var o,r,n,l,s,c=[],d=[],h={};if(h.length=g.length,h.crossLength=M.length,"b"===t)for(n=Math.max(0,Math.min(O-2,i)),s=Math.min(1,Math.max(0,i-n)),h.xy=function(t){return e.evalxy([],t,i)},h.dxy=function(t,a){return e.dxydi([],t,n,a,s)},o=0;o<L;o++)c[o]=S[i*I][o],d[o]=j[i*I][o];else for(r=Math.max(0,Math.min(z-2,i)),l=Math.min(1,Math.max(0,i-r)),h.xy=function(t){return e.evalxy([],i,t)},h.dxy=function(t,a){return e.dxydj([],r,t,l,a)},o=0;o<A;o++)c[o]=S[o][i*I],d[o]=j[o][i*I];return h.axisLetter=t,h.axis=b,h.crossAxis=_,h.value=g[i],h.constvar=a,h.index=i,h.x=c,h.y=d,h.smoothing=_.smoothing,h}if("array"===b.tickmode){for(s=5e-15,d=(c=[Math.floor((g.length-1-b.arraytick0)/b.arraydtick*(1+s)),Math.ceil(-b.arraytick0/b.arraydtick/(1+s))].sort((function(e,t){return e-t})))[0]-1,h=c[1]+1,p=d;p<h;p++)(n=b.arraytick0+b.arraydtick*p)<0||n>g.length-1||T.push(o(D(n),{color:b.gridcolor,width:b.gridwidth}));for(p=d;p<h;p++)if(l=b.arraytick0+b.arraydtick*p,y=Math.min(l+b.arraydtick,g.length-1),!(l<0||l>g.length-1)&&!(y<0||y>g.length-1))for(x=g[l],m=g[y],r=0;r<b.minorgridcount;r++)(v=y-l)<=0||(u=x+(m-x)*(r+1)/(b.minorgridcount+1)*(b.arraydtick/v))<g[0]||u>g[g.length-1]||w.push(o(P(u),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(o(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(o(D(g.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(s=5e-15,d=(c=[Math.floor((g[g.length-1]-b.tick0)/b.dtick*(1+s)),Math.ceil((g[0]-b.tick0)/b.dtick/(1+s))].sort((function(e,t){return e-t})))[0],h=c[1],p=d;p<=h;p++)f=b.tick0+b.dtick*p,T.push(o(P(f),{color:b.gridcolor,width:b.gridwidth}));for(p=d-1;p<h+1;p++)for(f=b.tick0+b.dtick*p,r=0;r<b.minorgridcount;r++)(u=f+b.dtick*(r+1)/(b.minorgridcount+1))<g[0]||u>g[g.length-1]||w.push(o(P(u),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(o(P(g[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(o(P(g[g.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},8947:function(e,t,a){var i=a(37762),o=a(87241).extendFlat;e.exports=function(e,t){var a,r,n,l=t._labels=[],s=t._gridlines;for(a=0;a<s.length;a++)n=s[a],-1!==["start","both"].indexOf(t.showticklabels)&&(r=i.tickText(t,n.value),o(r,{prefix:undefined,suffix:undefined,endAnchor:!0,xy:n.xy(0),dxy:n.dxy(0,0),axis:n.axis,length:n.crossAxis.length,font:n.axis.tickfont,isFirst:0===a,isLast:a===s.length-1}),l.push(r)),-1!==["end","both"].indexOf(t.showticklabels)&&(r=i.tickText(t,n.value),o(r,{endAnchor:!1,xy:n.xy(n.crossLength-1),dxy:n.dxy(n.crossLength-2,1),axis:n.axis,length:n.crossAxis.length,font:n.axis.tickfont,isFirst:0===a,isLast:a===s.length-1}),l.push(r))}},77381:function(e){e.exports=function(e,t,a,i){var o=e[0]-t[0],r=e[1]-t[1],n=a[0]-t[0],l=a[1]-t[1],s=Math.pow(o*o+r*r,.25),c=Math.pow(n*n+l*l,.25),d=(c*c*o-s*s*n)*i,h=(c*c*r-s*s*l)*i,p=c*(s+c)*3,f=s*(s+c)*3;return[[t[0]+(p&&d/p),t[1]+(p&&h/p)],[t[0]-(f&&d/f),t[1]-(f&&h/f)]]}},56331:function(e,t,a){var i=a(47401).isArrayOrTypedArray;e.exports=function(e,t,a){var o,r,n,l,s,c,d=[],h=i(e)?e.length:e,p=i(t)?t.length:t,f=i(e)?e:null,u=i(t)?t:null;f&&(n=(f.length-1)/(f[f.length-1]-f[0])/(h-1)),u&&(l=(u.length-1)/(u[u.length-1]-u[0])/(p-1));var y=1/0,x=-1/0;for(r=0;r<p;r++)for(d[r]=[],s=u?(u[r]-u[0])*l:r/(p-1),o=0;o<h;o++)c=(f?(f[o]-f[0])*n:o/(h-1))-s*a,y=Math.min(c,y),x=Math.max(c,x),d[r][o]=c;var m=1/(x-y),v=-y*m;for(r=0;r<p;r++)for(o=0;o<h;o++)d[r][o]=m*d[r][o]+v;return d}},36035:function(e,t,a){var i=a(77381),o=a(47401).ensureArray;function r(e,t,a){var i=-.5*a[0]+1.5*t[0],o=-.5*a[1]+1.5*t[1];return[(2*i+e[0])/3,(2*o+e[1])/3]}e.exports=function(e,t,a,n,l,s){var c,d,h,p,f,u,y,x,m,v,g=a[0].length,b=a.length,T=l?3*g-2:g,w=s?3*b-2:b;for(e=o(e,w),t=o(t,w),h=0;h<w;h++)e[h]=o(e[h],T),t[h]=o(t[h],T);for(d=0,p=0;d<b;d++,p+=s?3:1)for(f=e[p],u=t[p],y=a[d],x=n[d],c=0,h=0;c<g;c++,h+=l?3:1)f[h]=y[c],u[h]=x[c];if(l)for(d=0,p=0;d<b;d++,p+=s?3:1){for(c=1,h=3;c<g-1;c++,h+=3)m=i([a[d][c-1],n[d][c-1]],[a[d][c],n[d][c]],[a[d][c+1],n[d][c+1]],l),e[p][h-1]=m[0][0],t[p][h-1]=m[0][1],e[p][h+1]=m[1][0],t[p][h+1]=m[1][1];v=r([e[p][0],t[p][0]],[e[p][2],t[p][2]],[e[p][3],t[p][3]]),e[p][1]=v[0],t[p][1]=v[1],v=r([e[p][T-1],t[p][T-1]],[e[p][T-3],t[p][T-3]],[e[p][T-4],t[p][T-4]]),e[p][T-2]=v[0],t[p][T-2]=v[1]}if(s)for(h=0;h<T;h++){for(p=3;p<w-3;p+=3)m=i([e[p-3][h],t[p-3][h]],[e[p][h],t[p][h]],[e[p+3][h],t[p+3][h]],s),e[p-1][h]=m[0][0],t[p-1][h]=m[0][1],e[p+1][h]=m[1][0],t[p+1][h]=m[1][1];v=r([e[0][h],t[0][h]],[e[2][h],t[2][h]],[e[3][h],t[3][h]]),e[1][h]=v[0],t[1][h]=v[1],v=r([e[w-1][h],t[w-1][h]],[e[w-3][h],t[w-3][h]],[e[w-4][h],t[w-4][h]]),e[w-2][h]=v[0],t[w-2][h]=v[1]}if(l&&s)for(p=1;p<w;p+=(p+1)%3===0?2:1){for(h=3;h<T-3;h+=3)m=i([e[p][h-3],t[p][h-3]],[e[p][h],t[p][h]],[e[p][h+3],t[p][h+3]],l),e[p][h-1]=.5*(e[p][h-1]+m[0][0]),t[p][h-1]=.5*(t[p][h-1]+m[0][1]),e[p][h+1]=.5*(e[p][h+1]+m[1][0]),t[p][h+1]=.5*(t[p][h+1]+m[1][1]);v=r([e[p][0],t[p][0]],[e[p][2],t[p][2]],[e[p][3],t[p][3]]),e[p][1]=.5*(e[p][1]+v[0]),t[p][1]=.5*(t[p][1]+v[1]),v=r([e[p][T-1],t[p][T-1]],[e[p][T-3],t[p][T-3]],[e[p][T-4],t[p][T-4]]),e[p][T-2]=.5*(e[p][T-2]+v[0]),t[p][T-2]=.5*(t[p][T-2]+v[1])}return[e,t]}},62515:function(e){e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},6424:function(e){e.exports=function(e,t,a){return t&&a?function(t,a,i,o,r){var n,l,s,c,d,h;t||(t=[]),a*=3,i*=3;var p=o*o,f=1-o,u=f*f,y=f*o*2,x=-3*u,m=3*(u-y),v=3*(y-p),g=3*p,b=r*r,T=b*r,w=1-r,k=w*w,M=k*w;for(h=0;h<e.length;h++)n=x*(d=e[h])[i][a]+m*d[i][a+1]+v*d[i][a+2]+g*d[i][a+3],l=x*d[i+1][a]+m*d[i+1][a+1]+v*d[i+1][a+2]+g*d[i+1][a+3],s=x*d[i+2][a]+m*d[i+2][a+1]+v*d[i+2][a+2]+g*d[i+2][a+3],c=x*d[i+3][a]+m*d[i+3][a+1]+v*d[i+3][a+2]+g*d[i+3][a+3],t[h]=M*n+3*(k*r*l+w*b*s)+T*c;return t}:t?function(t,a,i,o,r){var n,l,s,c;t||(t=[]),a*=3;var d=o*o,h=1-o,p=h*h,f=h*o*2,u=-3*p,y=3*(p-f),x=3*(f-d),m=3*d,v=1-r;for(s=0;s<e.length;s++)n=u*(c=e[s])[i][a]+y*c[i][a+1]+x*c[i][a+2]+m*c[i][a+3],l=u*c[i+1][a]+y*c[i+1][a+1]+x*c[i+1][a+2]+m*c[i+1][a+3],t[s]=v*n+r*l;return t}:a?function(t,a,i,o,r){var n,l,s,c,d,h;t||(t=[]),i*=3;var p=r*r,f=p*r,u=1-r,y=u*u,x=y*u;for(d=0;d<e.length;d++)n=(h=e[d])[i][a+1]-h[i][a],l=h[i+1][a+1]-h[i+1][a],s=h[i+2][a+1]-h[i+2][a],c=h[i+3][a+1]-h[i+3][a],t[d]=x*n+3*(y*r*l+u*p*s)+f*c;return t}:function(t,a,i,o,r){var n,l,s,c;t||(t=[]);var d=1-r;for(s=0;s<e.length;s++)n=(c=e[s])[i][a+1]-c[i][a],l=c[i+1][a+1]-c[i+1][a],t[s]=d*n+r*l;return t}}},38303:function(e){e.exports=function(e,t,a){return t&&a?function(t,a,i,o,r){var n,l,s,c,d,h;t||(t=[]),a*=3,i*=3;var p=o*o,f=p*o,u=1-o,y=u*u,x=y*u,m=r*r,v=1-r,g=v*v,b=v*r*2,T=-3*g,w=3*(g-b),k=3*(b-m),M=3*m;for(h=0;h<e.length;h++)n=T*(d=e[h])[i][a]+w*d[i+1][a]+k*d[i+2][a]+M*d[i+3][a],l=T*d[i][a+1]+w*d[i+1][a+1]+k*d[i+2][a+1]+M*d[i+3][a+1],s=T*d[i][a+2]+w*d[i+1][a+2]+k*d[i+2][a+2]+M*d[i+3][a+2],c=T*d[i][a+3]+w*d[i+1][a+3]+k*d[i+2][a+3]+M*d[i+3][a+3],t[h]=x*n+3*(y*o*l+u*p*s)+f*c;return t}:t?function(t,a,i,o,r){var n,l,s,c,d,h;t||(t=[]),a*=3;var p=r*r,f=p*r,u=1-r,y=u*u,x=y*u;for(d=0;d<e.length;d++)n=(h=e[d])[i+1][a]-h[i][a],l=h[i+1][a+1]-h[i][a+1],s=h[i+1][a+2]-h[i][a+2],c=h[i+1][a+3]-h[i][a+3],t[d]=x*n+3*(y*r*l+u*p*s)+f*c;return t}:a?function(t,a,i,o,r){var n,l,s,c;t||(t=[]),i*=3;var d=1-o,h=r*r,p=1-r,f=p*p,u=p*r*2,y=-3*f,x=3*(f-u),m=3*(u-h),v=3*h;for(s=0;s<e.length;s++)n=y*(c=e[s])[i][a]+x*c[i+1][a]+m*c[i+2][a]+v*c[i+3][a],l=y*c[i][a+1]+x*c[i+1][a+1]+m*c[i+2][a+1]+v*c[i+3][a+1],t[s]=d*n+o*l;return t}:function(t,a,i,o,r){var n,l,s,c;t||(t=[]);var d=1-o;for(s=0;s<e.length;s++)n=(c=e[s])[i+1][a]-c[i][a],l=c[i+1][a+1]-c[i][a+1],t[s]=d*n+o*l;return t}}},97556:function(e){e.exports=function(e,t,a,i,o){var r=t-2,n=a-2;return i&&o?function(t,a,i){var o,l,s,c,d,h;t||(t=[]);var p=Math.max(0,Math.min(Math.floor(a),r)),f=Math.max(0,Math.min(Math.floor(i),n)),u=Math.max(0,Math.min(1,a-p)),y=Math.max(0,Math.min(1,i-f));p*=3,f*=3;var x=u*u,m=x*u,v=1-u,g=v*v,b=g*v,T=y*y,w=T*y,k=1-y,M=k*k,_=M*k;for(h=0;h<e.length;h++)o=b*(d=e[h])[f][p]+3*(g*u*d[f][p+1]+v*x*d[f][p+2])+m*d[f][p+3],l=b*d[f+1][p]+3*(g*u*d[f+1][p+1]+v*x*d[f+1][p+2])+m*d[f+1][p+3],s=b*d[f+2][p]+3*(g*u*d[f+2][p+1]+v*x*d[f+2][p+2])+m*d[f+2][p+3],c=b*d[f+3][p]+3*(g*u*d[f+3][p+1]+v*x*d[f+3][p+2])+m*d[f+3][p+3],t[h]=_*o+3*(M*y*l+k*T*s)+w*c;return t}:i?function(t,a,i){t||(t=[]);var o,l,s,c,d,h,p=Math.max(0,Math.min(Math.floor(a),r)),f=Math.max(0,Math.min(Math.floor(i),n)),u=Math.max(0,Math.min(1,a-p)),y=Math.max(0,Math.min(1,i-f));p*=3;var x=u*u,m=x*u,v=1-u,g=v*v,b=g*v,T=1-y;for(d=0;d<e.length;d++)o=T*(h=e[d])[f][p]+y*h[f+1][p],l=T*h[f][p+1]+y*h[f+1][p+1],s=T*h[f][p+2]+y*h[f+1][p+1],c=T*h[f][p+3]+y*h[f+1][p+1],t[d]=b*o+3*(g*u*l+v*x*s)+m*c;return t}:o?function(t,a,i){t||(t=[]);var o,l,s,c,d,h,p=Math.max(0,Math.min(Math.floor(a),r)),f=Math.max(0,Math.min(Math.floor(i),n)),u=Math.max(0,Math.min(1,a-p)),y=Math.max(0,Math.min(1,i-f));f*=3;var x=y*y,m=x*y,v=1-y,g=v*v,b=g*v,T=1-u;for(d=0;d<e.length;d++)o=T*(h=e[d])[f][p]+u*h[f][p+1],l=T*h[f+1][p]+u*h[f+1][p+1],s=T*h[f+2][p]+u*h[f+2][p+1],c=T*h[f+3][p]+u*h[f+3][p+1],t[d]=b*o+3*(g*y*l+v*x*s)+m*c;return t}:function(t,a,i){t||(t=[]);var o,l,s,c,d=Math.max(0,Math.min(Math.floor(a),r)),h=Math.max(0,Math.min(Math.floor(i),n)),p=Math.max(0,Math.min(1,a-d)),f=Math.max(0,Math.min(1,i-h)),u=1-f,y=1-p;for(s=0;s<e.length;s++)o=y*(c=e[s])[h][d]+p*c[h][d+1],l=y*c[h+1][d]+p*c[h+1][d+1],t[s]=u*o+f*l;return t}}},34870:function(e,t,a){var i=a(47401),o=a(41332),r=a(29952),n=a(74545),l=a(62405);e.exports=function(e,t,a,s){function c(a,o){return i.coerce(e,t,n,a,o)}t._clipPathId="clip"+t.uid+"carpet";var d=c("color",l.defaultLine);(i.coerceFont(c,"font"),c("carpet"),r(e,t,s,c,d),t.a&&t.b)?(t.a.length<3&&(t.aaxis.smoothing=0),t.b.length<3&&(t.baxis.smoothing=0),o(e,t,c)||(t.visible=!1),t._cheater&&c("cheaterslope")):t.visible=!1}},52098:function(e,t,a){e.exports={attributes:a(74545),supplyDefaults:a(34870),plot:a(1819),calc:a(6965),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:a(66807),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{description:["The data describing carpet axis layout is set in `y` and (optionally)","also `x`. If only `y` is present, `x` the plot is interpreted as a","cheater plot and is filled in using the `y` values.","`x` and `y` may either be 2D arrays matching with each dimension matching","that of `a` and `b`, or they may be 1D arrays with total length equal to","that of `a` and `b`."].join(" ")}}},26683:function(e){e.exports=function(e,t){for(var a,i=e._fullData.length,o=0;o<i;o++){var r=e._fullData[o];if(r.index!==t.index&&("carpet"===r.type&&(a||(a=r),r.carpet===t.carpet)))return r}return a}},17333:function(e){e.exports=function(e,t,a){if(0===e.length)return"";var i,o=[],r=a?3:1;for(i=0;i<e.length;i+=r)o.push(e[i]+","+t[i]),a&&i<e.length-r&&(o.push("C"),o.push([e[i+1]+","+t[i+1],e[i+2]+","+t[i+2]+" "].join(" ")));return o.join(a?"":"L")}},49040:function(e,t,a){var i=a(47401).isArrayOrTypedArray;e.exports=function(e,t,a){var o;for(i(e)?e.length>t.length&&(e=e.slice(0,t.length)):e=[],o=0;o<t.length;o++)e[o]=a(t[o]);return e}},49755:function(e){e.exports=function(e,t,a,i,o,r){var n=o[0]*e.dpdx(t),l=o[1]*e.dpdy(a),s=1,c=1;if(r){var d=Math.sqrt(o[0]*o[0]+o[1]*o[1]),h=Math.sqrt(r[0]*r[0]+r[1]*r[1]),p=(o[0]*r[0]+o[1]*r[1])/d/h;c=Math.max(0,p)}var f=180*Math.atan2(l,n)/Math.PI;return f<-90?(f+=180,s=-s):f>90&&(f-=180,s=-s),{angle:f,flip:s,p:e.c2p(i,t,a),offsetMultplier:c}}},1819:function(e,t,a){var i=a(62258),o=a(41707),r=a(49040),n=a(17333),l=a(49755),s=a(43995),c=a(47401),d=c.strRotate,h=c.strTranslate,p=a(60482);function f(e,t,a,o,l,s){var c="const-"+l+"-lines",d=a.selectAll("."+c).data(s);d.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),d.each((function(a){var o=a,l=o.x,s=o.y,c=r([],l,e.c2p),d=r([],s,t.c2p),h="M"+n(c,d,o.smoothing);i.select(this).attr("d",h).style("stroke-width",o.width).style("stroke",o.color).style("fill","none")})),d.exit().remove()}function u(e,t,a,r,n,c,p,f){var u=c.selectAll("text."+f).data(p);u.enter().append("text").classed(f,!0);var y=0,x={};return u.each((function(n,c){var p;if("auto"===n.axis.tickangle)p=l(r,t,a,n.xy,n.dxy);else{var f=(n.axis.tickangle+180)*Math.PI/180;p=l(r,t,a,n.xy,[Math.cos(f),Math.sin(f)])}c||(x={angle:p.angle,flip:p.flip});var u=(n.endAnchor?-1:1)*p.flip,m=i.select(this).attr({"text-anchor":u>0?"start":"end","data-notex":1}).call(o.font,n.font).text(n.text).call(s.convertToTspans,e),v=o.bBox(this);m.attr("transform",h(p.p[0],p.p[1])+d(p.angle)+h(n.axis.labelpadding*u,.3*v.height)),y=Math.max(y,v.width+n.axis.labelpadding)})),u.exit().remove(),x.maxExtent=y,x}e.exports=function(e,t,a,o){var s=t.xaxis,d=t.yaxis,h=e._fullLayout._clips;c.makeTraceGroups(o,a,"trace").each((function(t){var a=i.select(this),o=t[0],p=o.trace,y=p.aaxis,x=p.baxis,v=c.ensureSingle(a,"g","minorlayer"),g=c.ensureSingle(a,"g","majorlayer"),b=c.ensureSingle(a,"g","boundarylayer"),T=c.ensureSingle(a,"g","labellayer");a.style("opacity",p.opacity),f(s,d,g,y,"a",y._gridlines),f(s,d,g,x,"b",x._gridlines),f(s,d,v,y,"a",y._minorgridlines),f(s,d,v,x,"b",x._minorgridlines),f(s,d,b,y,"a-boundary",y._boundarylines),f(s,d,b,x,"b-boundary",x._boundarylines);var w=u(e,s,d,p,o,T,y._labels,"a-label"),k=u(e,s,d,p,o,T,x._labels,"b-label");!function(e,t,a,i,o,r,n,s){var d,h,p,f,u=c.aggNums(Math.min,null,a.a),y=c.aggNums(Math.max,null,a.a),x=c.aggNums(Math.min,null,a.b),v=c.aggNums(Math.max,null,a.b);d=.5*(u+y),h=x,p=a.ab2xy(d,h,!0),f=a.dxyda_rough(d,h),void 0===n.angle&&c.extendFlat(n,l(a,o,r,p,a.dxydb_rough(d,h)));m(e,t,a,i,p,f,a.aaxis,o,r,n,"a-title"),d=u,h=.5*(x+v),p=a.ab2xy(d,h,!0),f=a.dxydb_rough(d,h),void 0===s.angle&&c.extendFlat(s,l(a,o,r,p,a.dxyda_rough(d,h)));m(e,t,a,i,p,f,a.baxis,o,r,s,"b-title")}(e,T,p,o,s,d,w,k),function(e,t,a,i,o){var l,s,d,h,p=a.select("#"+e._clipPathId);p.size()||(p=a.append("clipPath").classed("carpetclip",!0));var f=c.ensureSingle(p,"path","carpetboundary"),u=t.clipsegments,y=[];for(h=0;h<u.length;h++)l=u[h],s=r([],l.x,i.c2p),d=r([],l.y,o.c2p),y.push(n(s,d,l.bicubic));var x="M"+y.join("L")+"Z";p.attr("id",e._clipPathId),f.attr("d",x)}(p,o,h,s,d)}))};var y=p.LINE_SPACING,x=(1-p.MID_SHIFT)/y+1;function m(e,t,a,r,n,c,p,f,u,m,v){var g=[];p.title.text&&g.push(p.title.text);var b=t.selectAll("text."+v).data(g),T=m.maxExtent;b.enter().append("text").classed(v,!0),b.each((function(){var t=l(a,f,u,n,c);-1===["start","both"].indexOf(p.showticklabels)&&(T=0);var r=p.title.font.size;T+=r+p.title.offset;var v=(m.angle+(m.flip<0?180:0)-t.angle+450)%360,g=v>90&&v<270,b=i.select(this);b.text(p.title.text).call(s.convertToTspans,e),g&&(T=(-s.lineCount(b)+x)*y*r-T),b.attr("transform",h(t.p[0],t.p[1])+d(t.angle)+h(0,T)).attr("text-anchor","middle").call(o.font,p.title.font)})),b.exit().remove()}},81210:function(e,t,a){var i=a(62515),o=a(84525).findBin,r=a(36035),n=a(97556),l=a(6424),s=a(38303);e.exports=function(e){var t=e._a,a=e._b,c=t.length,d=a.length,h=e.aaxis,p=e.baxis,f=t[0],u=t[c-1],y=a[0],x=a[d-1],m=t[t.length-1]-t[0],v=a[a.length-1]-a[0],g=m*i.RELATIVE_CULL_TOLERANCE,b=v*i.RELATIVE_CULL_TOLERANCE;f-=g,u+=g,y-=b,x+=b,e.isVisible=function(e,t){return e>f&&e<u&&t>y&&t<x},e.isOccluded=function(e,t){return e<f||e>u||t<y||t>x},e.setScale=function(){var t=e._x,a=e._y,i=r(e._xctrl,e._yctrl,t,a,h.smoothing,p.smoothing);e._xctrl=i[0],e._yctrl=i[1],e.evalxy=n([e._xctrl,e._yctrl],c,d,h.smoothing,p.smoothing),e.dxydi=l([e._xctrl,e._yctrl],h.smoothing,p.smoothing),e.dxydj=s([e._xctrl,e._yctrl],h.smoothing,p.smoothing)},e.i2a=function(e){var a=Math.max(0,Math.floor(e[0]),c-2),i=e[0]-a;return(1-i)*t[a]+i*t[a+1]},e.j2b=function(e){var t=Math.max(0,Math.floor(e[1]),c-2),i=e[1]-t;return(1-i)*a[t]+i*a[t+1]},e.ij2ab=function(t){return[e.i2a(t[0]),e.j2b(t[1])]},e.a2i=function(e){var a=Math.max(0,Math.min(o(e,t),c-2)),i=t[a],r=t[a+1];return Math.max(0,Math.min(c-1,a+(e-i)/(r-i)))},e.b2j=function(e){var t=Math.max(0,Math.min(o(e,a),d-2)),i=a[t],r=a[t+1];return Math.max(0,Math.min(d-1,t+(e-i)/(r-i)))},e.ab2ij=function(t){return[e.a2i(t[0]),e.b2j(t[1])]},e.i2c=function(t,a){return e.evalxy([],t,a)},e.ab2xy=function(i,o,r){if(!r&&(i<t[0]||i>t[c-1]|o<a[0]||o>a[d-1]))return[!1,!1];var n=e.a2i(i),l=e.b2j(o),s=e.evalxy([],n,l);if(r){var h,p,f,u,y=0,x=0,m=[];i<t[0]?(h=0,p=0,y=(i-t[0])/(t[1]-t[0])):i>t[c-1]?(h=c-2,p=1,y=(i-t[c-1])/(t[c-1]-t[c-2])):p=n-(h=Math.max(0,Math.min(c-2,Math.floor(n)))),o<a[0]?(f=0,u=0,x=(o-a[0])/(a[1]-a[0])):o>a[d-1]?(f=d-2,u=1,x=(o-a[d-1])/(a[d-1]-a[d-2])):u=l-(f=Math.max(0,Math.min(d-2,Math.floor(l)))),y&&(e.dxydi(m,h,f,p,u),s[0]+=m[0]*y,s[1]+=m[1]*y),x&&(e.dxydj(m,h,f,p,u),s[0]+=m[0]*x,s[1]+=m[1]*x)}return s},e.c2p=function(e,t,a){return[t.c2p(e[0]),a.c2p(e[1])]},e.p2x=function(e,t,a){return[t.p2c(e[0]),a.p2c(e[1])]},e.dadi=function(e){var a=Math.max(0,Math.min(t.length-2,e));return t[a+1]-t[a]},e.dbdj=function(e){var t=Math.max(0,Math.min(a.length-2,e));return a[t+1]-a[t]},e.dxyda=function(t,a,i,o){var r=e.dxydi(null,t,a,i,o),n=e.dadi(t,i);return[r[0]/n,r[1]/n]},e.dxydb=function(t,a,i,o){var r=e.dxydj(null,t,a,i,o),n=e.dbdj(a,o);return[r[0]/n,r[1]/n]},e.dxyda_rough=function(t,a,i){var o=m*(i||.1),r=e.ab2xy(t+o,a,!0),n=e.ab2xy(t-o,a,!0);return[.5*(r[0]-n[0])/o,.5*(r[1]-n[1])/o]},e.dxydb_rough=function(t,a,i){var o=v*(i||.1),r=e.ab2xy(t,a+o,!0),n=e.ab2xy(t,a-o,!0);return[.5*(r[0]-n[0])/o,.5*(r[1]-n[1])/o]},e.dpdx=function(e){return e._m},e.dpdy=function(e){return e._m}}},47263:function(e,t,a){var i=a(47401);e.exports=function(e,t,a){var o,r,n,l=[],s=[],c=e[0].length,d=e.length;function h(t,a){var i,o=0,r=0;return t>0&&void 0!==(i=e[a][t-1])&&(r++,o+=i),t<c-1&&void 0!==(i=e[a][t+1])&&(r++,o+=i),a>0&&void 0!==(i=e[a-1][t])&&(r++,o+=i),a<d-1&&void 0!==(i=e[a+1][t])&&(r++,o+=i),o/Math.max(1,r)}var p,f,u,y,x,m,v,g,b,T,w,k=0;for(o=0;o<c;o++)for(r=0;r<d;r++)void 0===e[r][o]&&(l.push(o),s.push(r),e[r][o]=h(o,r)),k=Math.max(k,Math.abs(e[r][o]));if(!l.length)return e;var M=0,_=0,S=l.length;do{for(M=0,n=0;n<S;n++){o=l[n],r=s[n];var j,L,A,z,O,I,P=0,D=0;0===o?(A=t[O=Math.min(c-1,2)],z=t[1],j=e[r][O],D+=(L=e[r][1])+(L-j)*(t[0]-z)/(z-A),P++):o===c-1&&(A=t[O=Math.max(0,c-3)],z=t[c-2],j=e[r][O],D+=(L=e[r][c-2])+(L-j)*(t[c-1]-z)/(z-A),P++),(0===o||o===c-1)&&r>0&&r<d-1&&(p=a[r+1]-a[r],D+=((f=a[r]-a[r-1])*e[r+1][o]+p*e[r-1][o])/(f+p),P++),0===r?(A=a[I=Math.min(d-1,2)],z=a[1],j=e[I][o],D+=(L=e[1][o])+(L-j)*(a[0]-z)/(z-A),P++):r===d-1&&(A=a[I=Math.max(0,d-3)],z=a[d-2],j=e[I][o],D+=(L=e[d-2][o])+(L-j)*(a[d-1]-z)/(z-A),P++),(0===r||r===d-1)&&o>0&&o<c-1&&(p=t[o+1]-t[o],D+=((f=t[o]-t[o-1])*e[r][o+1]+p*e[r][o-1])/(f+p),P++),P?D/=P:(u=t[o+1]-t[o],y=t[o]-t[o-1],g=(x=a[r+1]-a[r])*(m=a[r]-a[r-1])*(x+m),D=((v=u*y*(u+y))*(m*e[r+1][o]+x*e[r-1][o])+g*(y*e[r][o+1]+u*e[r][o-1]))/(g*(y+u)+v*(m+x))),M+=(T=(b=D-e[r][o])/k)*T,w=P?0:.85,e[r][o]+=b*(1+w)}M=Math.sqrt(M)}while(_++<100&&M>1e-5);return i.log("Smoother converged to",M,"after",_,"iterations"),e}},41332:function(e,t,a){var i=a(47401).isArray1D;e.exports=function(e,t,a){var o=a("x"),r=o&&o.length,n=a("y"),l=n&&n.length;if(!r&&!l)return!1;if(t._cheater=!o,r&&!i(o)||l&&!i(n))t._length=null;else{var s=r?o.length:1/0;l&&(s=Math.min(s,n.length)),t.a&&t.a.length&&(s=Math.min(s,t.a.length)),t.b&&t.b.length&&(s=Math.min(s,t.b.length)),t._length=s}return!0}},92082:function(e,t,a){var i=a(4216).r,o=a(75805),r=a(97451),n=a(42837),l=a(62405).defaultLine,s=a(87241).extendFlat,c=o.marker.line;e.exports=s({locations:{valType:"data_array",editType:"calc",description:["Sets the coordinates via location IDs or names.","See `locationmode` for more info."].join(" ")},locationmode:o.locationmode,z:{valType:"data_array",editType:"calc",description:"Sets the color values."},geojson:s({},o.geojson,{description:["Sets optional GeoJSON data associated with this trace.","If not given, the features on the base map are used.","It can be set as a valid GeoJSON object or as a URL string.","Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature*","with geometries of type *Polygon* or *MultiPolygon*."].join(" ")}),featureidkey:o.featureidkey,text:s({},o.text,{description:"Sets the text elements associated with each location."}),hovertext:s({},o.hovertext,{description:"Same as `text`."}),marker:{line:{color:s({},c.color,{dflt:l}),width:s({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style",description:"Sets the opacity of the locations."},editType:"calc"},selected:{marker:{opacity:o.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:o.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:s({},n.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:i(),showlegend:s({},n.showlegend,{dflt:!1})},r("",{cLetter:"z",editTypeOverride:"calc"}))},86606:function(e,t,a){var i=a(83491),o=a(9405).BADNUM,r=a(92171),n=a(79475),l=a(35533);function s(e){return e&&"string"===typeof e}e.exports=function(e,t){var a,c=t._length,d=new Array(c);a=t.geojson?function(e){return s(e)||i(e)}:s;for(var h=0;h<c;h++){var p=d[h]={},f=t.locations[h],u=t.z[h];a(f)&&i(u)?(p.loc=f,p.z=u):(p.loc=null,p.z=o),p.index=h}return n(d,t),r(e,t,{vals:t.z,containerStr:"",cLetter:"z"}),l(d,t),d}},85605:function(e,t,a){var i=a(47401),o=a(94060),r=a(92082);e.exports=function(e,t,a,n){function l(a,o){return i.coerce(e,t,r,a,o)}var s=l("locations"),c=l("z");if(s&&s.length&&i.isArrayOrTypedArray(c)&&c.length){t._length=Math.min(s.length,c.length);var d,h=l("geojson");("string"===typeof h&&""!==h||i.isPlainObject(h))&&(d="geojson-id"),"geojson-id"===l("locationmode",d)&&l("featureidkey"),l("text"),l("hovertext"),l("hovertemplate"),l("marker.line.width")&&l("marker.line.color"),l("marker.opacity"),o(e,t,n,l,{prefix:"",cLetter:"z"}),i.coerceSelectionMarkerOpacity(t,l)}else t.visible=!1}},84702:function(e){e.exports=function(e,t,a,i,o){e.location=t.location,e.z=t.z;var r=i[o];return r.fIn&&r.fIn.properties&&(e.properties=r.fIn.properties),e.ct=r.ct,e}},36285:function(e,t,a){var i=a(37762),o=a(92082),r=a(47401).fillText;e.exports=function(e,t,a){var n,l,s,c,d=e.cd,h=d[0].trace,p=e.subplot,f=[t,a],u=[t+360,a];for(l=0;l<d.length;l++)if(c=!1,(n=d[l])._polygons){for(s=0;s<n._polygons.length;s++)n._polygons[s].contains(f)&&(c=!c),n._polygons[s].contains(u)&&(c=!c);if(c)break}if(c&&n)return e.x0=e.x1=e.xa.c2p(n.ct),e.y0=e.y1=e.ya.c2p(n.ct),e.index=n.index,e.location=n.loc,e.z=n.z,e.zLabel=i.tickText(p.mockAxis,p.mockAxis.c2l(n.z),"hover").text,e.hovertemplate=n.hovertemplate,function(e,t,a){if(t.hovertemplate)return;var i=a.hi||t.hoverinfo,n=String(a.loc),l="all"===i?o.hoverinfo.flags:i.split("+"),s=-1!==l.indexOf("name"),c=-1!==l.indexOf("location"),d=-1!==l.indexOf("z"),h=-1!==l.indexOf("text"),p=[];!s&&c?e.nameOverride=n:(s&&(e.nameOverride=t.name),c&&p.push(n));d&&p.push(e.zLabel);h&&r(a,t,p);e.extraText=p.join("<br>")}(e,h,n),[e]}},85323:function(e,t,a){e.exports={attributes:a(92082),supplyDefaults:a(85605),colorbar:a(17439),calc:a(86606),calcGeoJSON:a(31372).calcGeoJSON,plot:a(31372).plot,style:a(34078).style,styleOnSelect:a(34078).styleOnSelect,hoverPoints:a(36285),eventData:a(84702),selectPoints:a(24031),moduleType:"trace",name:"choropleth",basePlotModule:a(34024),categories:["geo","noOpacity","showLegend"],meta:{description:["The data that describes the choropleth value-to-color mapping","is set in `z`.","The geographic locations corresponding to each value in `z`","are set in `locations`."].join(" ")}}},31372:function(e,t,a){var i=a(62258),o=a(47401),r=a(40458),n=a(57481).getTopojsonFeatures,l=a(9319).findExtremes,s=a(34078).style;e.exports={calcGeoJSON:function(e,t){for(var a=e[0].trace,i=t[a.geo],o=i._subplot,s=a.locationmode,c=a._length,d="geojson-id"===s?r.extractTraceFeature(e):n(a,o.topojson),h=[],p=[],f=0;f<c;f++){var u=e[f],y="geojson-id"===s?u.fOut:r.locationToFeature(s,u.loc,d);if(y){u.geojson=y,u.ct=y.properties.ct,u._polygons=r.feature2polygons(y);var x=r.computeBbox(y);h.push(x[0],x[2]),p.push(x[1],x[3])}else u.geojson=null}if("geojson"===i.fitbounds&&"geojson-id"===s){var m=r.computeBbox(r.getTraceGeojson(a));h=[m[0],m[2]],p=[m[1],m[3]]}var v={padded:!0};a._extremes.lon=l(i.lonaxis._ax,h,v),a._extremes.lat=l(i.lataxis._ax,p,v)},plot:function(e,t,a){var r=t.layers.backplot.select(".choroplethlayer");o.makeTraceGroups(r,a,"trace choropleth").each((function(t){var a=i.select(this).selectAll("path.choroplethlocation").data(o.identity);a.enter().append("path").classed("choroplethlocation",!0),a.exit().remove(),s(e,t)}))}}},24031:function(e){e.exports=function(e,t){var a,i,o,r,n,l=e.cd,s=e.xaxis,c=e.yaxis,d=[];if(!1===t)for(a=0;a<l.length;a++)l[a].selected=0;else for(a=0;a<l.length;a++)(o=(i=l[a]).ct)&&(r=s.c2p(o),n=c.c2p(o),t.contains([r,n],null,a,e)?(d.push({pointNumber:a,lon:o[0],lat:o[1]}),i.selected=1):i.selected=0);return d}},34078:function(e,t,a){var i=a(62258),o=a(31454),r=a(41707),n=a(47624);function l(e,t){var a=t[0].trace,l=t[0].node3.selectAll(".choroplethlocation"),s=a.marker||{},c=s.line||{},d=n.makeColorScaleFuncFromTrace(a);l.each((function(e){i.select(this).attr("fill",d(e.z)).call(o.stroke,e.mlc||c.color).call(r.dashLine,"",e.mlw||c.width||0).style("opacity",s.opacity)})),r.selectedPointStyle(l,a,e)}e.exports={style:function(e,t){t&&l(e,t)},styleOnSelect:function(e,t){var a=t[0].node3,i=t[0].trace;i.selectedpoints?r.selectedPointStyle(a.selectAll(".choroplethlocation"),i,e):l(e,t)}}},12899:function(e,t,a){var i=a(92082),o=a(97451),r=a(4216).r,n=a(42837),l=a(87241).extendFlat;e.exports=l({locations:{valType:"data_array",editType:"calc",description:["Sets which features found in *geojson* to plot using","their feature `id` field."].join(" ")},z:{valType:"data_array",editType:"calc",description:"Sets the color values."},geojson:{valType:"any",editType:"calc",description:["Sets the GeoJSON data associated with this trace.","It can be set as a valid GeoJSON object or as a URL string.","Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature*","with geometries of type *Polygon* or *MultiPolygon*."].join(" ")},featureidkey:l({},i.featureidkey,{description:["Sets the key in GeoJSON features which is used as id to match the items","included in the `locations` array.","Support nested property, for example *properties.name*."].join(" ")}),below:{valType:"string",editType:"plot",description:["Determines if the choropleth polygons will be inserted","before the layer with the specified ID.","By default, choroplethmapbox traces are placed above the water layers.","If set to '',","the layer will be inserted above every existing layer."].join(" ")},text:i.text,hovertext:i.hovertext,marker:{line:{color:l({},i.marker.line.color,{editType:"plot"}),width:l({},i.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:l({},i.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:l({},i.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:l({},i.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:i.hoverinfo,hovertemplate:r({},{keys:["properties"]}),showlegend:l({},n.showlegend,{dflt:!1})},o("",{cLetter:"z",editTypeOverride:"calc"}))},72599:function(e,t,a){var i=a(83491),o=a(47401),r=a(47624),n=a(41707),l=a(92380).makeBlank,s=a(40458);function c(e){var t,a=e[0].trace,i=a._opts;if(a.selectedpoints){for(var r=n.makeSelectedPointStyleFns(a),l=0;l<e.length;l++){var s=e[l];s.fOut&&(s.fOut.properties.mo2=r.selectedOpacityFn(s))}t={type:"identity",property:"mo2"}}else t=o.isArrayOrTypedArray(a.marker.opacity)?{type:"identity",property:"mo"}:a.marker.opacity;return o.extendFlat(i.fill.paint,{"fill-opacity":t}),o.extendFlat(i.line.paint,{"line-opacity":t}),i}e.exports={convert:function(e){var t=e[0].trace,a=!0===t.visible&&0!==t._length,n={layout:{visibility:"none"},paint:{}},d={layout:{visibility:"none"},paint:{}},h=t._opts={fill:n,line:d,geojson:l()};if(!a)return h;var p=s.extractTraceFeature(e);if(!p)return h;var f,u,y,x=r.makeColorScaleFuncFromTrace(t),m=t.marker,v=m.line||{};o.isArrayOrTypedArray(m.opacity)&&(f=function(e){var t=e.mo;return i(t)?+o.constrain(t,0,1):0}),o.isArrayOrTypedArray(v.color)&&(u=function(e){return e.mlc}),o.isArrayOrTypedArray(v.width)&&(y=function(e){return e.mlw});for(var g=0;g<e.length;g++){var b=e[g],T=b.fOut;if(T){var w=T.properties;w.fc=x(b.z),f&&(w.mo=f(b)),u&&(w.mlc=u(b)),y&&(w.mlw=y(b)),b.ct=w.ct,b._polygons=s.feature2polygons(T)}}var k=f?{type:"identity",property:"mo"}:m.opacity;return o.extendFlat(n.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":k}),o.extendFlat(d.paint,{"line-color":u?{type:"identity",property:"mlc"}:v.color,"line-width":y?{type:"identity",property:"mlw"}:v.width,"line-opacity":k}),n.layout.visibility="visible",d.layout.visibility="visible",h.geojson={type:"FeatureCollection",features:p},c(e),h},convertOnSelect:c}},8644:function(e,t,a){var i=a(47401),o=a(94060),r=a(12899);e.exports=function(e,t,a,n){function l(a,o){return i.coerce(e,t,r,a,o)}var s=l("locations"),c=l("z"),d=l("geojson");i.isArrayOrTypedArray(s)&&s.length&&i.isArrayOrTypedArray(c)&&c.length&&("string"===typeof d&&""!==d||i.isPlainObject(d))?(l("featureidkey"),t._length=Math.min(s.length,c.length),l("below"),l("text"),l("hovertext"),l("hovertemplate"),l("marker.line.width")&&l("marker.line.color"),l("marker.opacity"),o(e,t,n,l,{prefix:"",cLetter:"z"}),i.coerceSelectionMarkerOpacity(t,l)):t.visible=!1}},26e3:function(e,t,a){e.exports={attributes:a(12899),supplyDefaults:a(8644),colorbar:a(17439),calc:a(86606),plot:a(77),hoverPoints:a(36285),eventData:a(84702),selectPoints:a(24031),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var a=t.getMapLayers(),i=a.length-2;i>=0;i--){var o=a[i].id;if("string"===typeof o&&0===o.indexOf("water"))for(var r=i+1;r<a.length;r++)if("string"===typeof(o=a[r].id)&&-1===o.indexOf("plotly-"))return o}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:a(25456),categories:["mapbox","gl","noOpacity","showLegend"],meta:{hr_name:"choropleth_mapbox",description:["GeoJSON features to be filled are set in `geojson`","The data that describes the choropleth value-to-color mapping","is set in `locations` and `z`."].join(" ")}}},77:function(e,t,a){var i=a(72599).convert,o=a(72599).convertOnSelect,r=a(82949).traceLayerPrefix;function n(e,t){this.type="choroplethmapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",r+t+"-fill"],["line",r+t+"-line"]],this.below=null}var l=n.prototype;l.update=function(e){this._update(i(e))},l.updateOnSelect=function(e){this._update(o(e))},l._update=function(e){var t=this.subplot,a=this.layerList,i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(e,i),this.below=i);for(var o=0;o<a.length;o++){var r=a[o],n=r[0],l=r[1],s=e[n];t.setOptions(l,"setLayoutProperty",s.layout),"visible"===s.layout.visibility&&t.setOptions(l,"setPaintProperty",s.paint)}},l._addLayers=function(e,t){for(var a=this.subplot,i=this.layerList,o=this.sourceId,r=0;r<i.length;r++){var n=i[r],l=n[0],s=e[l];a.addLayer({type:l,id:n[1],source:o,layout:s.layout,paint:s.paint},t)}},l._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,a=t.length-1;a>=0;a--)e.removeLayer(t[a][1])},l.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},e.exports=function(e,t){var a=t[0].trace,o=new n(e,a.uid),r=o.sourceId,l=i(t),s=o.below=e.belowLookup["trace-"+a.uid];return e.map.addSource(r,{type:"geojson",data:l.geojson}),o._addLayers(l,s),t[0].trace._glTrace=o,o}},42745:function(e,t,a){var i=a(97451),o=a(20184).axisHoverFormat,r=a(4216).r,n=a(49762),l=a(42837),s=a(87241).extendFlat,c={x:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the x coordinates of the vector field","and of the displayed cones."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the y coordinates of the vector field","and of the displayed cones."].join(" ")},z:{valType:"data_array",editType:"calc+clearAxisTypes",description:["Sets the z coordinates of the vector field","and of the displayed cones."].join(" ")},u:{valType:"data_array",editType:"calc",description:"Sets the x components of the vector field."},v:{valType:"data_array",editType:"calc",description:"Sets the y components of the vector field."},w:{valType:"data_array",editType:"calc",description:"Sets the z components of the vector field."},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled",description:["Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar","(normalized by the max u/v/w norm in the vector field) or as","*absolute* value (in the same units as the vector field)."].join(" ")},sizeref:{valType:"number",editType:"calc",min:0,description:["Adjusts the cone size scaling.","The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`.",'This factor (computed internally) corresponds to the minimum "time" to travel across',"two successive x/y/z positions at the average velocity of those two successive positions.","All cones in a given trace use the same factor.","With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*","With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field,","its the default value is half the sample's maximum vector norm."].join(" ")},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm",description:["Sets the cones' anchor with respect to their x/y/z positions.","Note that *cm* denote the cone's center of mass which corresponds to","1/4 from the tail to tip."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets the text elements associated with the cones.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:"Same as `text`."},hovertemplate:r({editType:"calc"},{keys:["norm"]}),uhoverformat:o("u",1),vhoverformat:o("v",1),whoverformat:o("w",1),xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z"),showlegend:s({},l.showlegend,{dflt:!1})};s(c,i("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(e){c[e]=n[e]})),c.hoverinfo=s({},l.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),c.transforms=void 0,e.exports=c},98461:function(e,t,a){var i=a(92171);e.exports=function(e,t){for(var a=t.u,o=t.v,r=t.w,n=Math.min(t.x.length,t.y.length,t.z.length,a.length,o.length,r.length),l=-1/0,s=1/0,c=0;c<n;c++){var d=a[c],h=o[c],p=r[c],f=Math.sqrt(d*d+h*h+p*p);l=Math.max(l,f),s=Math.min(s,f)}t._len=n,t._normMax=l,i(e,t,{vals:[s,l],containerStr:"",cLetter:"c"})}},51809:function(e,t,a){var i=a(99716),o=a(99716).createConeMesh,r=a(47401).simpleMap,n=a(63750).parseColorScale,l=a(47624).extractOpts,s=a(35839);function c(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var d=c.prototype;d.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,a=this.data.x[t],i=this.data.y[t],o=this.data.z[t],r=this.data.u[t],n=this.data.v[t],l=this.data.w[t];e.traceCoordinate=[a,i,o,r,n,l,Math.sqrt(r*r+n*n+l*l)];var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&void 0!==s[t]?e.textLabel=s[t]:s&&(e.textLabel=s),!0}};var h={xaxis:0,yaxis:1,zaxis:2},p={tip:1,tail:0,cm:.25,center:.5},f={tip:1,tail:1,cm:.75,center:.5};function u(e,t){var a=e.fullSceneLayout,o=e.dataScale,c={};function d(e,t){var i=a[t],n=o[h[t]];return r(e,(function(e){return i.d2l(e)*n}))}c.vectors=s(d(t.u,"xaxis"),d(t.v,"yaxis"),d(t.w,"zaxis"),t._len),c.positions=s(d(t.x,"xaxis"),d(t.y,"yaxis"),d(t.z,"zaxis"),t._len);var u=l(t);c.colormap=n(t),c.vertexIntensityBounds=[u.min/t._normMax,u.max/t._normMax],c.coneOffset=p[t.anchor],"scaled"===t.sizemode?c.coneSize=t.sizeref||.5:c.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5;var y=i(c),x=t.lightposition;return y.lightPosition=[x.x,x.y,x.z],y.ambient=t.lighting.ambient,y.diffuse=t.lighting.diffuse,y.specular=t.lighting.specular,y.roughness=t.lighting.roughness,y.fresnel=t.lighting.fresnel,y.opacity=t.opacity,t._pad=f[t.anchor]*y.vectorScale*y.coneScale*t._normMax,y}d.update=function(e){this.data=e;var t=u(this.scene,e);this.mesh.update(t)},d.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(e,t){var a=e.glplot.gl,i=u(e,t),r=o(a,i),n=new c(e,t.uid);return n.mesh=r,n.data=t,r._trace=n,e.glplot.add(r),n}},82174:function(e,t,a){var i=a(47401),o=a(94060),r=a(42745);e.exports=function(e,t,a,n){function l(a,o){return i.coerce(e,t,r,a,o)}var s=l("u"),c=l("v"),d=l("w"),h=l("x"),p=l("y"),f=l("z");s&&s.length&&c&&c.length&&d&&d.length&&h&&h.length&&p&&p.length&&f&&f.length?(l("sizeref"),l("sizemode"),l("anchor"),l("lighting.ambient"),l("lighting.diffuse"),l("lighting.specular"),l("lighting.roughness"),l("lighting.fresnel"),l("lightposition.x"),l("lightposition.y"),l("lightposition.z"),o(e,t,n,l,{prefix:"",cLetter:"c"}),l("text"),l("hovertext"),l("hovertemplate"),l("uhoverformat"),l("vhoverformat"),l("whoverformat"),l("xhoverformat"),l("yhoverformat"),l("zhoverformat"),t._length=null):t.visible=!1}},56058:function(e,t,a){e.exports={moduleType:"trace",name:"cone",basePlotModule:a(6727),categories:["gl3d","showLegend"],attributes:a(42745),supplyDefaults:a(82174),colorbar:{min:"cmin",max:"cmax"},calc:a(98461),plot:a(51809),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{description:["Use cone traces to visualize vector fields.","","Specify a vector field using 6 1D arrays,","3 position arrays `x`, `y` and `z`","and 3 vector component arrays `u`, `v`, `w`.","The cones are drawn exactly at the positions given","by `x`, `y` and `z`."].join(" ")}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_mlflow_mlflow=self.webpackChunk_mlflow_mlflow||[]).push([[1012],{59055:function(e){e.exports={hiddenlabels:{valType:"data_array",editType:"calc",description:["hiddenlabels is the funnelarea & pie chart analog of","visible:'legendonly'","but it can contain many labels, and can simultaneously","hide slices from several pies/funnelarea charts"].join(" ")},piecolorway:{valType:"colorlist",editType:"calc",description:["Sets the default pie slice colors. Defaults to the main","`colorway` used for trace colors. If you specify a new","list here it can still be extended with lighter and darker","colors, see `extendpiecolors`."].join(" ")},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc",description:["If `true`, the pie slice colors (whether given by `piecolorway` or","inherited from `colorway`) will be extended to three times its","original length by first repeating every color 20% lighter then","each color 20% darker. This is intended to reduce the likelihood","of reusing the same color when you have many slices, but you can","set `false` to disable.","Colors provided in the trace, using `marker.colors`, are never","extended."].join(" ")}}},18504:function(e,t,n){var a=n(47401),r=n(59055);e.exports=function(e,t){function n(n,o){return a.coerce(e,t,r,n,o)}n("hiddenlabels"),n("piecolorway",t.colorway),n("extendpiecolors")}},59718:function(e,t,n){var a=n(62258),r=n(35722),o=n(21661),i=n(31454),l=n(41707),s=n(47401),c=s.strScale,d=s.strTranslate,u=n(43995),f=n(77846),h=f.recordMinTextSize,p=f.clearMinTextSize,v=n(33419).TEXTPAD,y=n(80084),x=n(41240),g=n(47401).isValidTextValue;function m(e,t,n){var r=n[0],i=r.cx,l=r.cy,c=r.trace,d="funnelarea"===c.type;"_hasHoverLabel"in c||(c._hasHoverLabel=!1),"_hasHoverEvent"in c||(c._hasHoverEvent=!1),e.on("mouseover",(function(e){var n=t._fullLayout,u=t._fullData[c.index];if(!t._dragging&&!1!==n.hovermode){var f=u.hoverinfo;if(Array.isArray(f)&&(f=o.castHoverinfo({hoverinfo:[y.castOption(f,e.pts)],_module:c._module},n,0)),"all"===f&&(f="label+text+value+percent+name"),u.hovertemplate||"none"!==f&&"skip"!==f&&f){var h=e.rInscribed||0,p=i+e.pxmid[0]*(1-h),v=l+e.pxmid[1]*(1-h),g=n.separators,m=[];if(f&&-1!==f.indexOf("label")&&m.push(e.label),e.text=y.castOption(u.hovertext||u.text,e.pts),f&&-1!==f.indexOf("text")){var b=e.text;s.isValidTextValue(b)&&m.push(b)}e.value=e.v,e.valueLabel=y.formatPieValue(e.v,g),f&&-1!==f.indexOf("value")&&m.push(e.valueLabel),e.percent=e.v/r.vTotal,e.percentLabel=y.formatPiePercent(e.percent,g),f&&-1!==f.indexOf("percent")&&m.push(e.percentLabel);var k=u.hoverlabel,L=k.font,_=[];o.loneHover({trace:c,x0:p-h*r.r,x1:p+h*r.r,y:v,_x0:d?i+e.TL[0]:p-h*r.r,_x1:d?i+e.TR[0]:p+h*r.r,_y0:d?l+e.TL[1]:v-h*r.r,_y1:d?l+e.BL[1]:v+h*r.r,text:m.join("<br>"),name:u.hovertemplate||-1!==f.indexOf("name")?u.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:y.castOption(k.bgcolor,e.pts)||e.color,borderColor:y.castOption(k.bordercolor,e.pts),fontFamily:y.castOption(L.family,e.pts),fontSize:y.castOption(L.size,e.pts),fontColor:y.castOption(L.color,e.pts),nameLength:y.castOption(k.namelength,e.pts),textAlign:y.castOption(k.align,e.pts),hovertemplate:y.castOption(u.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[x(e,u)]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,inOut_bbox:_}),e.bbox=_[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,t.emit("plotly_hover",{points:[x(e,u)],event:a.event})}})),e.on("mouseout",(function(e){var n=t._fullLayout,r=t._fullData[c.index],i=a.select(this).datum();c._hasHoverEvent&&(e.originalEvent=a.event,t.emit("plotly_unhover",{points:[x(i,r)],event:a.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(o.loneUnhover(n._hoverlayer.node()),c._hasHoverLabel=!1)})),e.on("click",(function(e){var n=t._fullLayout,r=t._fullData[c.index];t._dragging||!1===n.hovermode||(t._hoverdata=[x(e,r)],o.click(t,a.event))}))}function b(e,t,n){var a=y.castOption(e.insidetextfont.color,t.pts);!a&&e._input.textfont&&(a=y.castOption(e._input.textfont.color,t.pts));var r=y.castOption(e.insidetextfont.family,t.pts)||y.castOption(e.textfont.family,t.pts)||n.family,o=y.castOption(e.insidetextfont.size,t.pts)||y.castOption(e.textfont.size,t.pts)||n.size;return{color:a||i.contrast(t.color),family:r,size:o}}function k(e,t){for(var n,a,r=0;r<e.length;r++)if((a=(n=e[r][0]).trace).title.text){var o=a.title.text;a._meta&&(o=s.templateString(o,a._meta));var i=l.tester.append("text").attr("data-notex",1).text(o).call(l.font,a.title.font).call(u.convertToTspans,t),c=l.bBox(i.node(),!0);n.titleBox={width:c.width,height:c.height},i.remove()}}function L(e,t,n){var a=n.r||t.rpx1,r=t.rInscribed;if(t.startangle===t.stopangle)return{rCenter:1-r,scale:0,rotate:0,textPosAngle:0};var o,i=t.ring,l=1===i&&Math.abs(t.startangle-t.stopangle)===2*Math.PI,s=t.halfangle,c=t.midangle,d=n.trace.insidetextorientation,u="horizontal"===d,f="tangential"===d,h="radial"===d,p="auto"===d,v=[];if(!p){var y,x=function(n,r){if(function(e,t){var n=e.startangle,a=e.stopangle;return n>t&&t>a||n<t&&t<a}(t,n)){var l=Math.abs(n-t.startangle),s=Math.abs(n-t.stopangle),c=l<s?l:s;(o="tan"===r?w(e,a,i,c,0):_(e,a,i,c,Math.PI/2)).textPosAngle=n,v.push(o)}};if(u||f){for(y=4;y>=-4;y-=2)x(Math.PI*y,"tan");for(y=4;y>=-4;y-=2)x(Math.PI*(y+1),"tan")}if(u||h){for(y=4;y>=-4;y-=2)x(Math.PI*(y+1.5),"rad");for(y=4;y>=-4;y-=2)x(Math.PI*(y+.5),"rad")}}if(l||p||u){var g=Math.sqrt(e.width*e.width+e.height*e.height);if((o={scale:r*a*2/g,rCenter:1-r,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,o.scale>=1)return o;v.push(o)}(p||h)&&((o=_(e,a,i,s,c)).textPosAngle=(t.startangle+t.stopangle)/2,v.push(o)),(p||f)&&((o=w(e,a,i,s,c)).textPosAngle=(t.startangle+t.stopangle)/2,v.push(o));for(var m=0,b=0,k=0;k<v.length;k++){var L=v[k].scale;if(b<L&&(b=L,m=k),!p&&b>=1)break}return v[m]}function _(e,t,n,a,r){t=Math.max(0,t-2*v);var o=e.width/e.height,i=I(o,a,t,n);return{scale:2*i/e.height,rCenter:A(o,i/t),rotate:T(r)}}function w(e,t,n,a,r){t=Math.max(0,t-2*v);var o=e.height/e.width,i=I(o,a,t,n);return{scale:2*i/e.width,rCenter:A(o,i/t),rotate:T(r+Math.PI/2)}}function A(e,t){return Math.cos(t)-e*t}function T(e){return(180/Math.PI*e+720)%180-90}function I(e,t,n,a){var r=e+1/(2*Math.tan(t));return n*Math.min(1/(Math.sqrt(r*r+.5)+r),a/(Math.sqrt(e*e+a/2)+e))}function O(e,t){return e.v!==t.vTotal||t.trace.hole?Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2):1}function S(e,t){var n=t.pxmid[0],a=t.pxmid[1],r=e.width/2,o=e.height/2;return n<0&&(r*=-1),a<0&&(o*=-1),{scale:1,rCenter:1,rotate:0,x:r+Math.abs(o)*(r>0?1:-1)/2,y:o/(1+n*n/(a*a)),outside:!0}}function M(e,t){var n,a,r,o=e.trace,i={x:e.cx,y:e.cy},l={tx:0,ty:0};l.ty+=o.title.font.size,r=F(o),-1!==o.title.position.indexOf("top")?(i.y-=(1+r)*e.r,l.ty-=e.titleBox.height):-1!==o.title.position.indexOf("bottom")&&(i.y+=(1+r)*e.r);var s,c,d=(s=e.r,c=e.trace.aspectratio,s/(void 0===c?1:c)),u=t.w*(o.domain.x[1]-o.domain.x[0])/2;return-1!==o.title.position.indexOf("left")?(u+=d,i.x-=(1+r)*d,l.tx+=e.titleBox.width/2):-1!==o.title.position.indexOf("center")?u*=2:-1!==o.title.position.indexOf("right")&&(u+=d,i.x+=(1+r)*d,l.tx-=e.titleBox.width/2),n=u/e.titleBox.width,a=E(e,t)/e.titleBox.height,{x:i.x,y:i.y,scale:Math.min(n,a),tx:l.tx,ty:l.ty}}function E(e,t){var n=e.trace,a=t.h*(n.domain.y[1]-n.domain.y[0]);return Math.min(e.titleBox.height,a/2)}function F(e){var t,n=e.pull;if(!n)return 0;if(Array.isArray(n))for(n=0,t=0;t<e.pull.length;t++)e.pull[t]>n&&(n=e.pull[t]);return n}function P(e,t){for(var n=[],a=0;a<e.length;a++){var r=e[a][0],o=r.trace,i=o.domain,l=t.w*(i.x[1]-i.x[0]),s=t.h*(i.y[1]-i.y[0]);o.title.text&&"middle center"!==o.title.position&&(s-=E(r,t));var c=l/2,d=s/2;"funnelarea"!==o.type||o.scalegroup||(d/=o.aspectratio),r.r=Math.min(c,d)/(1+F(o)),r.cx=t.l+t.w*(o.domain.x[1]+o.domain.x[0])/2,r.cy=t.t+t.h*(1-o.domain.y[0])-s/2,o.title.text&&-1!==o.title.position.indexOf("bottom")&&(r.cy-=E(r,t)),o.scalegroup&&-1===n.indexOf(o.scalegroup)&&n.push(o.scalegroup)}!function(e,t){for(var n,a,r,o=0;o<t.length;o++){var i=1/0,l=t[o];for(a=0;a<e.length;a++)if((r=(n=e[a][0]).trace).scalegroup===l){var s;if("pie"===r.type)s=n.r*n.r;else if("funnelarea"===r.type){var c,d;r.aspectratio>1?d=(c=n.r)/r.aspectratio:c=(d=n.r)*r.aspectratio,s=(c*=(1+r.baseratio)/2)*d}i=Math.min(i,s/n.vTotal)}for(a=0;a<e.length;a++)if((r=(n=e[a][0]).trace).scalegroup===l){var u=i*n.vTotal;"funnelarea"===r.type&&(u/=(1+r.baseratio)/2,u/=r.aspectratio),n.r=Math.sqrt(u)}}}(e,n)}function z(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function C(e,t,n){var a=e._fullLayout,r=n.trace,o=r.texttemplate,i=r.textinfo;if(!o&&i&&"none"!==i){var l,c=i.split("+"),d=function(e){return-1!==c.indexOf(e)},u=d("label"),f=d("text"),h=d("value"),p=d("percent"),v=a.separators;if(l=u?[t.label]:[],f){var x=y.getFirstFilled(r.text,t.pts);g(x)&&l.push(x)}h&&l.push(y.formatPieValue(t.v,v)),p&&l.push(y.formatPiePercent(t.v/n.vTotal,v)),t.text=l.join("<br>")}if(o){var m=s.castOption(r,t.i,"texttemplate");if(m){var b=function(e){return{label:e.label,value:e.v,valueLabel:y.formatPieValue(e.v,a.separators),percent:e.v/n.vTotal,percentLabel:y.formatPiePercent(e.v/n.vTotal,a.separators),color:e.color,text:e.text,customdata:s.castOption(r,e.i,"customdata")}}(t),k=y.getFirstFilled(r.text,t.pts);(g(k)||""===k)&&(b.text=k),t.text=s.texttemplateString(m,b,e._fullLayout._d3locale,b,r._meta||{})}else t.text=""}}function R(e,t){var n=e.rotate*Math.PI/180,a=Math.cos(n),r=Math.sin(n),o=(t.left+t.right)/2,i=(t.top+t.bottom)/2;e.textX=o*a-i*r,e.textY=o*r+i*a,e.noCenter=!0}e.exports={plot:function(e,t){var n=e._fullLayout,o=n._size;p("pie",n),k(t,e),P(t,o);var f=s.makeTraceGroups(n._pielayer,t,"trace").each((function(t){var f=a.select(this),p=t[0],v=p.trace;!function(e){var t,n,a,r=e[0],o=r.r,i=r.trace,l=y.getRotationAngle(i.rotation),s=2*Math.PI/r.vTotal,c="px0",d="px1";if("counterclockwise"===i.direction){for(t=0;t<e.length&&e[t].hidden;t++);if(t===e.length)return;l+=s*e[t].v,s*=-1,c="px1",d="px0"}for(a=z(o,l),t=0;t<e.length;t++)(n=e[t]).hidden||(n[c]=a,n.startangle=l,l+=s*n.v/2,n.pxmid=z(o,l),n.midangle=l,a=z(o,l+=s*n.v/2),n.stopangle=l,n[d]=a,n.largeArc=n.v>r.vTotal/2?1:0,n.halfangle=Math.PI*Math.min(n.v/r.vTotal,.5),n.ring=1-i.hole,n.rInscribed=O(n,r))}(t),f.attr("stroke-linejoin","round"),f.each((function(){var x=a.select(this).selectAll("g.slice").data(t);x.enter().append("g").classed("slice",!0),x.exit().remove();var g=[[[],[]],[[],[]]],k=!1;x.each((function(r,o){if(r.hidden)a.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=v.index,g[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var i=p.cx,c=p.cy,d=a.select(this),f=d.selectAll("path.surface").data([r]);if(f.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),d.call(m,e,t),v.pull){var x=+y.castOption(v.pull,r.pts)||0;x>0&&(i+=x*r.pxmid[0],c+=x*r.pxmid[1])}r.cxFinal=i,r.cyFinal=c;var _=v.hole;if(r.v===p.vTotal){var w="M"+(i+r.px0[0])+","+(c+r.px0[1])+M(r.px0,r.pxmid,!0,1)+M(r.pxmid,r.px0,!0,1)+"Z";_?f.attr("d","M"+(i+_*r.px0[0])+","+(c+_*r.px0[1])+M(r.px0,r.pxmid,!1,_)+M(r.pxmid,r.px0,!1,_)+"Z"+w):f.attr("d",w)}else{var A=M(r.px0,r.px1,!0,1);if(_){var T=1-_;f.attr("d","M"+(i+_*r.px1[0])+","+(c+_*r.px1[1])+M(r.px1,r.px0,!1,_)+"l"+T*r.px0[0]+","+T*r.px0[1]+A+"Z")}else f.attr("d","M"+i+","+c+"l"+r.px0[0]+","+r.px0[1]+A+"Z")}C(e,r,p);var I=y.castOption(v.textposition,r.pts),O=d.selectAll("g.slicetext").data(r.text&&"none"!==I?[0]:[]);O.enter().append("g").classed("slicetext",!0),O.exit().remove(),O.each((function(){var d=s.ensureSingle(a.select(this),"text","",(function(e){e.attr("data-notex",1)})),f=s.ensureUniformFontSize(e,"outside"===I?function(e,t,n){var a=y.castOption(e.outsidetextfont.color,t.pts)||y.castOption(e.textfont.color,t.pts)||n.color,r=y.castOption(e.outsidetextfont.family,t.pts)||y.castOption(e.textfont.family,t.pts)||n.family,o=y.castOption(e.outsidetextfont.size,t.pts)||y.castOption(e.textfont.size,t.pts)||n.size;return{color:a,family:r,size:o}}(v,r,n.font):b(v,r,n.font));d.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(l.font,f).call(u.convertToTspans,e);var x,g=l.bBox(d.node());if("outside"===I)x=S(g,r);else if(x=L(g,r,p),"auto"===I&&x.scale<1){var m=s.ensureUniformFontSize(e,v.outsidetextfont);d.call(l.font,m),x=S(g=l.bBox(d.node()),r)}var _=x.textPosAngle,w=void 0===_?r.pxmid:z(p.r,_);if(x.targetX=i+w[0]*x.rCenter+(x.x||0),x.targetY=c+w[1]*x.rCenter+(x.y||0),R(x,g),x.outside){var A=x.targetY;r.yLabelMin=A-g.height/2,r.yLabelMid=A,r.yLabelMax=A+g.height/2,r.labelExtraX=0,r.labelExtraY=0,k=!0}x.fontSize=f.size,h(v.type,x,n),t[o].transform=x,d.attr("transform",s.getTextTransform(x))}))}function M(e,t,n,a){var o=a*(t[0]-e[0]),i=a*(t[1]-e[1]);return"a"+a*p.r+","+a*p.r+" 0 "+r.largeArc+(n?" 1 ":" 0 ")+o+","+i}}));var _=a.select(this).selectAll("g.titletext").data(v.title.text?[0]:[]);if(_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each((function(){var t,n=s.ensureSingle(a.select(this),"text","",(function(e){e.attr("data-notex",1)})),r=v.title.text;v._meta&&(r=s.templateString(r,v._meta)),n.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(l.font,v.title.font).call(u.convertToTspans,e),t="middle center"===v.title.position?function(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}(p):M(p,o),n.attr("transform",d(t.x,t.y)+c(Math.min(1,t.scale))+d(t.tx,t.ty))})),k&&function(e,t){var n,a,r,o,i,l,s,c,d,u,f,h,p;function v(e,t){return e.pxmid[1]-t.pxmid[1]}function x(e,t){return t.pxmid[1]-e.pxmid[1]}function g(e,n){n||(n={});var r,c,d,f,h=n.labelExtraY+(a?n.yLabelMax:n.yLabelMin),p=a?e.yLabelMin:e.yLabelMax,v=a?e.yLabelMax:e.yLabelMin,x=e.cyFinal+i(e.px0[1],e.px1[1]),g=h-p;if(g*s>0&&(e.labelExtraY=g),Array.isArray(t.pull))for(c=0;c<u.length;c++)(d=u[c])===e||(y.castOption(t.pull,e.pts)||0)>=(y.castOption(t.pull,d.pts)||0)||((e.pxmid[1]-d.pxmid[1])*s>0?(g=d.cyFinal+i(d.px0[1],d.px1[1])-p-e.labelExtraY)*s>0&&(e.labelExtraY+=g):(v+e.labelExtraY-x)*s>0&&(r=3*l*Math.abs(c-u.indexOf(e)),(f=d.cxFinal+o(d.px0[0],d.px1[0])+r-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*l>0&&(e.labelExtraX+=f)))}for(a=0;a<2;a++)for(r=a?v:x,i=a?Math.max:Math.min,s=a?1:-1,n=0;n<2;n++){for(o=n?Math.max:Math.min,l=n?1:-1,(c=e[a][n]).sort(r),d=e[1-a][n],u=d.concat(c),h=[],f=0;f<c.length;f++)void 0!==c[f].yLabelMid&&h.push(c[f]);for(p=!1,f=0;a&&f<d.length;f++)if(void 0!==d[f].yLabelMid){p=d[f];break}for(f=0;f<h.length;f++){var m=f&&h[f-1];p&&!f&&(m=p),g(h[f],m)}}}(g,v),function(e,t){e.each((function(e){var n=a.select(this);if(e.labelExtraX||e.labelExtraY){var r=n.select("g.slicetext text");e.transform.targetX+=e.labelExtraX,e.transform.targetY+=e.labelExtraY,r.attr("transform",s.getTextTransform(e.transform));var o=e.cxFinal+e.pxmid[0],l="M"+o+","+(e.cyFinal+e.pxmid[1]),c=(e.yLabelMax-e.yLabelMin)*(e.pxmid[0]<0?-1:1)/4;if(e.labelExtraX){var d=e.labelExtraX*e.pxmid[1]/e.pxmid[0],u=e.yLabelMid+e.labelExtraY-(e.cyFinal+e.pxmid[1]);Math.abs(d)>Math.abs(u)?l+="l"+u*e.pxmid[0]/e.pxmid[1]+","+u+"H"+(o+e.labelExtraX+c):l+="l"+e.labelExtraX+","+d+"v"+(u-d)+"h"+c}else l+="V"+(e.yLabelMid+e.labelExtraY)+"h"+c;s.ensureSingle(n,"path","textline").call(i.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:l,fill:"none"})}else n.select("path.textline").remove()}))}(x,v),k&&v.automargin){var w=l.bBox(f.node()),A=v.domain,T=o.w*(A.x[1]-A.x[0]),I=o.h*(A.y[1]-A.y[0]),O=(.5*T-p.r)/o.w,E=(.5*I-p.r)/o.h;r.autoMargin(e,"pie."+v.uid+".automargin",{xl:A.x[0]-O,xr:A.x[1]+O,yb:A.y[0]-E,yt:A.y[1]+E,l:Math.max(p.cx-p.r-w.left,0),r:Math.max(w.right-(p.cx+p.r),0),b:Math.max(w.bottom-(p.cy+p.r),0),t:Math.max(p.cy-p.r-w.top,0),pad:5})}}))}));setTimeout((function(){f.selectAll("tspan").each((function(){var e=a.select(this);e.attr("dy")&&e.attr("dy",e.attr("dy"))}))}),0)},formatSliceLabel:C,transformInsideText:L,determineInsideTextFont:b,positionTitleOutside:M,prerenderTitles:k,layoutAreas:P,attachFxHandlers:m,computeTransform:R}},9884:function(e,t,n){var a=n(62258),r=n(59371),o=n(77846).resizeText;e.exports=function(e){var t=e._fullLayout._pielayer.selectAll(".trace");o(e,t,"pie"),t.each((function(e){var t=e[0].trace,n=a.select(this);n.style({opacity:t.opacity}),n.selectAll("path.surface").each((function(e){a.select(this).call(r,e,t)}))}))}},59371:function(e,t,n){var a=n(31454),r=n(80084).castOption;e.exports=function(e,t,n){var o=n.marker.line,i=r(o.color,t.pts)||a.defaultLine,l=r(o.width,t.pts)||0;e.style("stroke-width",l).call(a.fill,t.color).call(a.stroke,i)}},26481:function(e,t,n){var a=n(47216);e.exports={x:a.x,y:a.y,xy:{valType:"data_array",editType:"calc",description:["Faster alternative to specifying `x` and `y` separately.","If supplied, it must be a typed `Float32Array` array that","represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`"].join(" ")},indices:{valType:"data_array",editType:"calc",description:["A sequential value, 0..n, supply it to avoid creating this array inside plotting.","If specified, it must be a typed `Int32Array` array.","Its length must be equal to or greater than the number of points.","For the best performance and memory use, create one large `indices` typed array","that is guaranteed to be at least as long as the largest number of points during","use, and reuse it on each `Plotly.restyle()` call."].join(" ")},xbounds:{valType:"data_array",editType:"calc",description:["Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through","the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits."].join(" ")},ybounds:{valType:"data_array",editType:"calc",description:["Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through","the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits."].join(" ")},text:a.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc",description:["Sets the marker fill color. It accepts a specific color.","If the color is not fully opaque and there are hundreds of thousands","of points, it may cause slower zooming and panning."].join("")},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc",description:["Sets the marker opacity. The default value is `1` (fully opaque).","If the markers are not fully opaque and there are hundreds of thousands","of points, it may cause slower zooming and panning.","Opacity fades the color even if `blend` is left on `false` even if there","is no translucency effect in that case."].join(" ")},blend:{valType:"boolean",dflt:null,editType:"calc",description:["Determines if colors are blended together for a translucency effect","in case `opacity` is specified as a value less then `1`.","Setting `blend` to `true` reduces zoom/pan","speed if used with large numbers of points."].join(" ")},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc",description:["Sets the minimum size (in px) of the rendered marker points, effective when","the `pointcloud` shows a million or more points."].join(" ")},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc",description:["Sets the maximum size (in px) of the rendered marker points.","Effective when the `pointcloud` shows only few points."].join(" ")},border:{color:{valType:"color",arrayOk:!1,editType:"calc",description:["Sets the stroke color. It accepts a specific color.","If the color is not fully opaque and there are hundreds of thousands","of points, it may cause slower zooming and panning."].join(" ")},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Specifies what fraction of the marker area is covered with the","border."].join(" ")},editType:"calc"},editType:"calc"},transforms:void 0}},29177:function(e,t,n){var a=n(66745),r=n(42770),o=n(9319).findExtremes,i=n(56035);function l(e,t){this.scene=e,this.uid=t,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=a(e.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var s=l.prototype;s.handlePick=function(e){var t=this.idToIndex[e.pointId];return{trace:this,dataCoord:e.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*t],this.pickXYData[2*t+1]]:[this.pickXData[t],this.pickYData[t]],textLabel:Array.isArray(this.textLabels)?this.textLabels[t]:this.textLabels,color:this.color,name:this.name,pointIndex:t,hoverinfo:this.hoverinfo}},s.update=function(e){this.index=e.index,this.textLabels=e.text,this.name=e.name,this.hoverinfo=e.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(e),this.color=i(e,{})},s.updateFast=function(e){var t,n,a,i,l,s,c=this.xData=this.pickXData=e.x,d=this.yData=this.pickYData=e.y,u=this.pickXYData=e.xy,f=e.xbounds&&e.ybounds,h=e.indices,p=this.bounds;if(u){if(a=u,t=u.length>>>1,f)p[0]=e.xbounds[0],p[2]=e.xbounds[1],p[1]=e.ybounds[0],p[3]=e.ybounds[1];else for(s=0;s<t;s++)i=a[2*s],l=a[2*s+1],i<p[0]&&(p[0]=i),i>p[2]&&(p[2]=i),l<p[1]&&(p[1]=l),l>p[3]&&(p[3]=l);if(h)n=h;else for(n=new Int32Array(t),s=0;s<t;s++)n[s]=s}else for(t=c.length,a=new Float32Array(2*t),n=new Int32Array(t),s=0;s<t;s++)i=c[s],l=d[s],n[s]=s,a[2*s]=i,a[2*s+1]=l,i<p[0]&&(p[0]=i),i>p[2]&&(p[2]=i),l<p[1]&&(p[1]=l),l>p[3]&&(p[3]=l);this.idToIndex=n,this.pointcloudOptions.idToIndex=n,this.pointcloudOptions.positions=a;var v=r(e.marker.color),y=r(e.marker.border.color),x=e.opacity*e.marker.opacity;v[3]*=x,this.pointcloudOptions.color=v;var g=e.marker.blend;if(null===g){g=c.length<100||d.length<100}this.pointcloudOptions.blend=g,y[3]*=x,this.pointcloudOptions.borderColor=y;var m=e.marker.sizemin,b=Math.max(e.marker.sizemax,e.marker.sizemin);this.pointcloudOptions.sizeMin=m,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=e.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var k=this.scene.xaxis,L=this.scene.yaxis,_=b/2||.5;e._extremes[k._id]=o(k,[p[0],p[2]],{ppad:_}),e._extremes[L._id]=o(L,[p[1],p[3]],{ppad:_})},s.dispose=function(){this.pointcloud.dispose()},e.exports=function(e,t){var n=new l(e,t.uid);return n.update(t),n}},96022:function(e,t,n){var a=n(47401),r=n(26481);e.exports=function(e,t,n){function o(n,o){return a.coerce(e,t,r,n,o)}o("x"),o("y"),o("xbounds"),o("ybounds"),e.xy&&e.xy instanceof Float32Array&&(t.xy=e.xy),e.indices&&e.indices instanceof Int32Array&&(t.indices=e.indices),o("text"),o("marker.color",n),o("marker.opacity"),o("marker.blend"),o("marker.sizemin"),o("marker.sizemax"),o("marker.border.color",n),o("marker.border.arearatio"),t._length=null}},99874:function(e,t,n){var a=["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" ");e.exports={attributes:n(26481),supplyDefaults:n(96022),calc:n(8809),plot:n(29177),moduleType:"trace",name:"pointcloud",basePlotModule:n(92198),categories:["gl","gl2d","showLegend"],meta:{description:[a,"The data visualized as a point cloud set in `x` and `y`","using the WebGl plotting engine."].join(" ")}}},39987:function(e,t,n){var a=n(5153),r=n(42837),o=n(62405),i=n(97280),l=n(16688).u,s=n(4216).r,c=n(97451),d=n(92704).templatedArray,u=n(20184).descriptionOnlyNumbers,f=n(87241).extendFlat,h=n(17342).overrideAll;(e.exports=h({hoverinfo:f({},r.hoverinfo,{flags:[],arrayOk:!1,description:["Determines which trace information appear on hover.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired.","Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo`","for nodes and links respectively."].join(" ")}),hoverlabel:i.hoverlabel,domain:l({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h",description:"Sets the orientation of the Sankey diagram."},valueformat:{valType:"string",dflt:".3s",description:u("value")},valuesuffix:{valType:"string",dflt:"",description:["Adds a unit to follow the value in the hover tooltip. Add a space if a separation","is necessary from the value."].join(" ")},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap",description:["If value is `snap` (the default), the node arrangement is assisted by automatic snapping of elements to","preserve space between nodes specified via `nodepad`.","If value is `perpendicular`, the nodes can only move along a line perpendicular to the flow.","If value is `freeform`, the nodes can freely move on the plane.","If value is `fixed`, the nodes are stationary."].join(" ")},textfont:a({description:"Sets the font for node labels"}),customdata:void 0,node:{label:{valType:"data_array",dflt:[],description:"The shown name of the node."},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"},description:["Groups of nodes.","Each group is defined by an array with the indices of the nodes it contains.","Multiple groups can be specified."].join(" ")},x:{valType:"data_array",dflt:[],description:"The normalized horizontal position of the node."},y:{valType:"data_array",dflt:[],description:"The normalized vertical position of the node."},color:{valType:"color",arrayOk:!0,description:["Sets the `node` color. It can be a single value, or an array for specifying color for each `node`.","If `node.color` is omitted, then the default `Plotly` color palette will be cycled through","to have a variety of colors. These defaults are not fully opaque, to allow some visibility of","what is beneath the node."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data to each node."].join(" ")},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,description:["Sets the color of the `line` around each `node`."].join(" ")},width:{valType:"number",min:0,dflt:.5,arrayOk:!0,description:["Sets the width (in px) of the `line` around each `node`."].join(" ")}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20,description:"Sets the padding (in px) between the `nodes`."},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20,description:"Sets the thickness (in px) of the `nodes`."},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all",description:["Determines which trace information appear when hovering nodes.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:i.hoverlabel,hovertemplate:s({},{description:"Variables `sourceLinks` and `targetLinks` are arrays of link objects.",keys:["value","label"]}),description:"The nodes of the Sankey plot."},link:{label:{valType:"data_array",dflt:[],description:"The shown name of the link."},color:{valType:"color",arrayOk:!0,description:["Sets the `link` color. It can be a single value, or an array for specifying color for each `link`.","If `link.color` is omitted, then by default, a translucent grey link will be used."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data to each link."].join(" ")},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,description:["Sets the color of the `line` around each `link`."].join(" ")},width:{valType:"number",min:0,dflt:0,arrayOk:!0,description:["Sets the width (in px) of the `line` around each `link`."].join(" ")}},source:{valType:"data_array",dflt:[],description:"An integer number `[0..nodes.length - 1]` that represents the source node."},target:{valType:"data_array",dflt:[],description:"An integer number `[0..nodes.length - 1]` that represents the target node."},value:{valType:"data_array",dflt:[],description:"A numeric value representing the flow volume value."},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all",description:["Determines which trace information appear when hovering links.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:i.hoverlabel,hovertemplate:s({},{description:"Variables `source` and `target` are node objects.",keys:["value","label"]}),colorscales:d("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",description:"The label of the links to color based on their concentration within a flow.",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1,description:["Sets the upper bound of the color domain."].join("")},cmin:{valType:"number",editType:"calc",dflt:0,description:["Sets the lower bound of the color domain."].join("")},colorscale:f(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})}),description:"The links of the Sankey plot."}},"calc","nested")).transforms=void 0},32357:function(e,t,n){var a=n(17342).overrideAll,r=n(13373).eV,o=n(98813),i=n(51499),l=n(82559),s=n(52783),c=n(88987).prepSelect,d=n(47401),u=n(62282),f="sankey";function h(e,t){var n=e._fullData[t],a=e._fullLayout,r=a.dragmode,o="pan"===a.dragmode?"move":"crosshair",i=n._bgRect;if("pan"!==r&&"zoom"!==r){l(i,o);var f={_id:"x",c2p:d.identity,_offset:n._sankey.translateX,_length:n._sankey.width},h={_id:"y",c2p:d.identity,_offset:n._sankey.translateY,_length:n._sankey.height},p={gd:e,element:i.node(),plotinfo:{id:t,xaxis:f,yaxis:h,fillRangeItems:d.noop},subplot:t,xaxes:[f],yaxes:[h],doneFnCompleted:function(n){var a,r=e._fullData[t],o=r.node.groups.slice(),i=[];function l(e){for(var t=r._sankey.graph.nodes,n=0;n<t.length;n++)if(t[n].pointNumber===e)return t[n]}for(var s=0;s<n.length;s++){var c=l(n[s].pointNumber);if(c)if(c.group){for(var d=0;d<c.childrenNodes.length;d++)i.push(c.childrenNodes[d].pointNumber);o[c.pointNumber-r.node._count]=!1}else i.push(c.pointNumber)}a=o.filter(Boolean).concat([i]),u.call("_guiRestyle",e,{"node.groups":[a]},t)},prepFn:function(e,t,n){c(e,t,n,p,r)}};s.init(p)}}t.name=f,t.baseLayoutAttrOverrides=a({hoverlabel:i.hoverlabel},"plot","nested"),t.plot=function(e){var n=r(e.calcdata,f)[0];o(e,n),t.updateFx(e)},t.clean=function(e,t,n,a){var r=a._has&&a._has(f),o=t._has&&t._has(f);r&&!o&&(a._paperdiv.selectAll(".sankey").remove(),a._paperdiv.selectAll(".bgsankey").remove())},t.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)h(e,t)}},56691:function(e,t,n){var a=n(88363),r=n(47401),o=n(84941).wrap,i=r.isArrayOrTypedArray,l=r.isIndex,s=n(47624);function c(e){var t,n=e.node,o=e.link,c=[],d=i(o.color),u=i(o.customdata),f={},h={},p=o.colorscales.length;for(t=0;t<p;t++){var v=o.colorscales[t],y=s.extractScale(v,{cLetter:"c"}),x=s.makeColorScaleFunc(y);h[v.label]=x}var g=0;for(t=0;t<o.value.length;t++)o.source[t]>g&&(g=o.source[t]),o.target[t]>g&&(g=o.target[t]);var m,b=g+1;e.node._count=b;var k=e.node.groups,L={};for(t=0;t<k.length;t++){var _=k[t];for(m=0;m<_.length;m++){var w=_[m],A=b+t;L.hasOwnProperty(w)?r.warn("Node "+w+" is already part of a group."):L[w]=A}}var T={source:[],target:[]};for(t=0;t<o.value.length;t++){var I=o.value[t],O=o.source[t],S=o.target[t];if(I>0&&l(O,b)&&l(S,b)&&(!L.hasOwnProperty(O)||!L.hasOwnProperty(S)||L[O]!==L[S])){L.hasOwnProperty(S)&&(S=L[S]),L.hasOwnProperty(O)&&(O=L[O]),S=+S,f[O=+O]=f[S]=!0;var M="";o.label&&o.label[t]&&(M=o.label[t]);var E=null;M&&h.hasOwnProperty(M)&&(E=h[M]),c.push({pointNumber:t,label:M,color:d?o.color[t]:o.color,customdata:u?o.customdata[t]:o.customdata,concentrationscale:E,source:O,target:S,value:+I}),T.source.push(O),T.target.push(S)}}var F=b+k.length,P=i(n.color),z=i(n.customdata),C=[];for(t=0;t<F;t++)if(f[t]){var R=n.label[t];C.push({group:t>b-1,childrenNodes:[],pointNumber:t,label:R,color:P?n.color[t]:n.color,customdata:z?n.customdata[t]:n.customdata})}var D=!1;return function(e,t,n){for(var o=r.init2dArray(e,0),i=0;i<Math.min(t.length,n.length);i++)if(r.isIndex(t[i],e)&&r.isIndex(n[i],e)){if(t[i]===n[i])return!0;o[t[i]].push(n[i])}var l=a(o);return l.components.some((function(e){return e.length>1}))}(F,T.source,T.target)&&(D=!0),{circular:D,links:c,nodes:C,groups:k,groupLookup:L}}e.exports=function(e,t){var n=c(t);return o({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}},79957:function(e){e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},23892:function(e,t,n){var a=n(47401),r=n(39987),o=n(31454),i=n(91771),l=n(16688).N,s=n(94158),c=n(92704),d=n(26800);function u(e,t){function n(n,o){return a.coerce(e,t,r.link.colorscales,n,o)}n("label"),n("cmin"),n("cmax"),n("colorscale")}e.exports=function(e,t,n,f){function h(n,o){return a.coerce(e,t,r,n,o)}var p=a.extendDeep(f.hoverlabel,e.hoverlabel),v=e.node,y=c.newContainer(t,"node");function x(e,t){return a.coerce(v,y,r.node,e,t)}x("label"),x("groups"),x("x"),x("y"),x("pad"),x("thickness"),x("line.color"),x("line.width"),x("hoverinfo",e.hoverinfo),s(v,y,x,p),x("hovertemplate");var g=f.colorway;x("color",y.label.map((function(e,t){return o.addOpacity(function(e){return g[e%g.length]}(t),.8)}))),x("customdata");var m=e.link||{},b=c.newContainer(t,"link");function k(e,t){return a.coerce(m,b,r.link,e,t)}k("label"),k("source"),k("target"),k("value"),k("line.color"),k("line.width"),k("hoverinfo",e.hoverinfo),s(m,b,k,p),k("hovertemplate");var L,_=i(f.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";k("color",a.repeat(_,b.value.length)),k("customdata"),d(m,b,{name:"colorscales",handleItemDefaults:u}),l(t,f,h),h("orientation"),h("valueformat"),h("valuesuffix"),y.x.length&&y.y.length&&(L="freeform"),h("arrangement",L),a.coerceFont(h,"textfont",a.extendFlat({},f.font)),t._length=null}},11808:function(e,t,n){e.exports={attributes:n(39987),supplyDefaults:n(23892),calc:n(56691),plot:n(98813),moduleType:"trace",name:"sankey",basePlotModule:n(32357),selectPoints:n(39934),categories:["noOpacity"],meta:{description:["Sankey plots for network flow data analysis.","The nodes are specified in `nodes` and the links between sources and targets in `links`.","The colors are set in `nodes[i].color` and `links[i].color`, otherwise defaults are used."].join(" ")}}},98813:function(e,t,n){var a=n(62258),r=n(47401),o=r.numberFormat,i=n(75518),l=n(21661),s=n(31454),c=n(79957).cn,d=r._;function u(e){return""!==e}function f(e,t){return e.filter((function(e){return e.key===t.traceId}))}function h(e,t){a.select(e).select("path").style("fill-opacity",t),a.select(e).select("rect").style("fill-opacity",t)}function p(e){a.select(e).select("text.name").style("fill","black")}function v(e){return function(t){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(e){return function(t){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function x(e,t,n){t&&n&&f(n,t).selectAll("."+c.sankeyLink).filter(v(t)).call(m.bind(0,t,n,!1))}function g(e,t,n){t&&n&&f(n,t).selectAll("."+c.sankeyLink).filter(v(t)).call(b.bind(0,t,n,!1))}function m(e,t,n,a){var r=a.datum().link.label;a.style("fill-opacity",(function(e){if(!e.link.concentrationscale)return.4})),r&&f(t,e).selectAll("."+c.sankeyLink).filter((function(e){return e.link.label===r})).style("fill-opacity",(function(e){if(!e.link.concentrationscale)return.4})),n&&f(t,e).selectAll("."+c.sankeyNode).filter(y(e)).call(x)}function b(e,t,n,a){var r=a.datum().link.label;a.style("fill-opacity",(function(e){return e.tinyColorAlpha})),r&&f(t,e).selectAll("."+c.sankeyLink).filter((function(e){return e.link.label===r})).style("fill-opacity",(function(e){return e.tinyColorAlpha})),n&&f(t,e).selectAll(c.sankeyNode).filter(y(e)).call(g)}function k(e,t){var n=e.hoverlabel||{},a=r.nestedProperty(n,t).get();return!Array.isArray(a)&&a}e.exports=function(e,t){for(var n=e._fullLayout,r=n._paper,f=n._size,v=0;v<e._fullData.length;v++)if(e._fullData[v].visible&&e._fullData[v].type===c.sankey&&!e._fullData[v]._viewInitial){var y=e._fullData[v].node;e._fullData[v]._viewInitial={node:{groups:y.groups.slice(),x:y.x.slice(),y:y.y.slice()}}}var L=d(e,"source:")+" ",_=d(e,"target:")+" ",w=d(e,"concentration:")+" ",A=d(e,"incoming flow count:")+" ",T=d(e,"outgoing flow count:")+" ";i(e,r,t,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(t,n,r){!1!==e._fullLayout.hovermode&&(a.select(t).call(m.bind(0,n,r,!0)),"skip"!==n.link.trace.link.hoverinfo&&(n.link.fullData=n.link.trace,e.emit("plotly_hover",{event:a.event,points:[n.link]})))},follow:function(t,r){if(!1!==e._fullLayout.hovermode){var i=r.link.trace.link;if("none"!==i.hoverinfo&&"skip"!==i.hoverinfo){for(var c=[],d=0,f=0;f<r.flow.links.length;f++){var v=r.flow.links[f];if("closest"!==e._fullLayout.hovermode||r.link.pointNumber===v.pointNumber){r.link.pointNumber===v.pointNumber&&(d=f),v.fullData=v.trace,i=r.link.trace.link;var y=g(v),x={valueLabel:o(r.valueFormat)(v.value)+r.valueSuffix};c.push({x:y[0],y:y[1],name:x.valueLabel,text:[v.label||"",L+v.source.label,_+v.target.label,v.concentrationscale?w+o("%0.2f")(v.flow.labelConcentration):""].filter(u).join("<br>"),color:k(i,"bgcolor")||s.addOpacity(v.color,1),borderColor:k(i,"bordercolor"),fontFamily:k(i,"font.family"),fontSize:k(i,"font.size"),fontColor:k(i,"font.color"),nameLength:k(i,"namelength"),textAlign:k(i,"align"),idealAlign:a.event.x<y[0]?"right":"left",hovertemplate:i.hovertemplate,hovertemplateLabels:x,eventData:[v]})}}l.loneHover(c,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:e,anchorIndex:d}).each((function(){r.link.concentrationscale||h(this,.65),p(this)}))}}function g(e){var t,n;e.circular?(t=(e.circularPathData.leftInnerExtent+e.circularPathData.rightInnerExtent)/2,n=e.circularPathData.verticalFullExtent):(t=(e.source.x1+e.target.x0)/2,n=(e.y0+e.y1)/2);var a=[t,n];return"v"===e.trace.orientation&&a.reverse(),a[0]+=r.parent.translateX,a[1]+=r.parent.translateY,a}},unhover:function(t,r,o){!1!==e._fullLayout.hovermode&&(a.select(t).call(b.bind(0,r,o,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,e.emit("plotly_unhover",{event:a.event,points:[r.link]})),l.loneUnhover(n._hoverlayer.node()))},select:function(t,n){var r=n.link;r.originalEvent=a.event,e._hoverdata=[r],l.click(e,{target:!0})}},nodeEvents:{hover:function(t,n,r){!1!==e._fullLayout.hovermode&&(a.select(t).call(x,n,r),"skip"!==n.node.trace.node.hoverinfo&&(n.node.fullData=n.node.trace,e.emit("plotly_hover",{event:a.event,points:[n.node]})))},follow:function(t,r){if(!1!==e._fullLayout.hovermode){var i=r.node.trace.node;if("none"!==i.hoverinfo&&"skip"!==i.hoverinfo){var s=a.select(t).select("."+c.nodeRect),d=e._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),v=f.left-2-d.left,y=f.right+2-d.left,x=f.top+f.height/4-d.top,g={valueLabel:o(r.valueFormat)(r.node.value)+r.valueSuffix};r.node.fullData=r.node.trace,e._fullLayout._calcInverseTransform(e);var m=e._fullLayout._invScaleX,b=e._fullLayout._invScaleY,L=l.loneHover({x0:m*v,x1:m*y,y:b*x,name:o(r.valueFormat)(r.node.value)+r.valueSuffix,text:[r.node.label,A+r.node.targetLinks.length,T+r.node.sourceLinks.length].filter(u).join("<br>"),color:k(i,"bgcolor")||r.tinyColorHue,borderColor:k(i,"bordercolor"),fontFamily:k(i,"font.family"),fontSize:k(i,"font.size"),fontColor:k(i,"font.color"),nameLength:k(i,"namelength"),textAlign:k(i,"align"),idealAlign:"left",hovertemplate:i.hovertemplate,hovertemplateLabels:g,eventData:[r.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:e});h(L,.85),p(L)}}},unhover:function(t,r,o){!1!==e._fullLayout.hovermode&&(a.select(t).call(g,r,o),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,e.emit("plotly_unhover",{event:a.event,points:[r.node]})),l.loneUnhover(n._hoverlayer.node()))},select:function(t,n,r){var o=n.node;o.originalEvent=a.event,e._hoverdata=[o],a.select(t).call(g,n,r),l.click(e,{target:!0})}}})}},75518:function(e,t,n){var a=n(27755),r=n(87717).Dj,o=n(62258),i=n(76392),l=n(70233),s=n(79957),c=n(91771),d=n(31454),u=n(41707),f=n(47401),h=f.strTranslate,p=f.strRotate,v=n(84941),y=v.keyFun,x=v.repeat,g=v.unwrap,m=n(43995),b=n(62282),k=n(60482),L=k.CAP_SHIFT,_=k.LINE_SPACING;function w(e,t,n){var a,r=g(t),o=r.trace,d=o.domain,u="h"===o.orientation,h=o.node.pad,p=o.node.thickness,v=e.width*(d.x[1]-d.x[0]),y=e.height*(d.y[1]-d.y[0]),x=r._nodes,m=r._links,b=r.circular;(a=b?l.sankeyCircular().circularLinkGap(0):i.sankey()).iterations(s.sankeyIterations).size(u?[v,y]:[y,v]).nodeWidth(p).nodePadding(h).nodeId((function(e){return e.pointNumber})).nodes(x).links(m);var k,L,_,w=a();for(var A in a.nodePadding()<h&&f.warn("node.pad was reduced to ",a.nodePadding()," to fit within the figure."),r._groupLookup){var T,I=parseInt(r._groupLookup[A]);for(k=0;k<w.nodes.length;k++)if(w.nodes[k].pointNumber===I){T=w.nodes[k];break}if(T){var O={pointNumber:parseInt(A),x0:T.x0,x1:T.x1,y0:T.y0,y1:T.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};w.nodes.unshift(O),T.childrenNodes.unshift(O)}}if(function(){for(k=0;k<w.nodes.length;k++){var e,t,n=w.nodes[k],a={};for(L=0;L<n.targetLinks.length;L++)e=(t=n.targetLinks[L]).source.pointNumber+":"+t.target.pointNumber,a.hasOwnProperty(e)||(a[e]=[]),a[e].push(t);var r=Object.keys(a);for(L=0;L<r.length;L++){var o=a[e=r[L]],i=0,l={};for(_=0;_<o.length;_++)l[(t=o[_]).label]||(l[t.label]=0),l[t.label]+=t.value,i+=t.value;for(_=0;_<o.length;_++)(t=o[_]).flow={value:i,labelConcentration:l[t.label]/i,concentration:t.value/i,links:o},t.concentrationscale&&(t.color=c(t.concentrationscale(t.flow.labelConcentration)))}var s=0;for(L=0;L<n.sourceLinks.length;L++)s+=n.sourceLinks[L].value;for(L=0;L<n.sourceLinks.length;L++)(t=n.sourceLinks[L]).concentrationOut=t.value/s;var d=0;for(L=0;L<n.targetLinks.length;L++)d+=n.targetLinks[L].value;for(L=0;L<n.targetLinks.length;L++)(t=n.targetLinks[L]).concenrationIn=t.value/d}}(),o.node.x.length&&o.node.y.length){for(k=0;k<Math.min(o.node.x.length,o.node.y.length,w.nodes.length);k++)if(o.node.x[k]&&o.node.y[k]){var S=[o.node.x[k]*v,o.node.y[k]*y];w.nodes[k].x0=S[0]-p/2,w.nodes[k].x1=S[0]+p/2;var M=w.nodes[k].y1-w.nodes[k].y0;w.nodes[k].y0=S[1]-M/2,w.nodes[k].y1=S[1]+M/2}if("snap"===o.arrangement)!function(e){e.forEach((function(e){var t,n,a,r=0,o=e.length;for(e.sort((function(e,t){return e.y0-t.y0})),a=0;a<o;++a)(t=e[a]).y0>=r||(n=r-t.y0)>1e-6&&(t.y0+=n,t.y1+=n),r=t.y1+h}))}(function(e){var t,n,a=e.map((function(e,t){return{x0:e.x0,index:t}})).sort((function(e,t){return e.x0-t.x0})),r=[],o=-1,i=-1/0;for(k=0;k<a.length;k++){var l=e[a[k].index];l.x0>i+p&&(o+=1,t=l.x0),i=l.x0,r[o]||(r[o]=[]),r[o].push(l),n=t-l.x0,l.x0+=n,l.x1+=n}return r}(x=w.nodes));a.update(w)}return{circular:b,key:n,trace:o,guid:f.randstr(),horizontal:u,width:v,height:y,nodePad:o.node.pad,nodeLineColor:o.node.line.color,nodeLineWidth:o.node.line.width,linkLineColor:o.link.line.color,linkLineWidth:o.link.line.width,valueFormat:o.valueformat,valueSuffix:o.valuesuffix,textFont:o.textfont,translateX:d.x[0]*e.width+e.margin.l,translateY:e.height-d.y[1]*e.height+e.margin.t,dragParallel:u?y:v,dragPerpendicular:u?v:y,arrangement:o.arrangement,sankey:a,graph:w,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(e,t,n){var a=c(t.color),r=t.source.label+"|"+t.target.label+"__"+n;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:r,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:d.tinyRGB(a),tinyColorAlpha:a.getAlpha(),linkPath:T,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function T(){return function(e){if(e.link.circular)return function(e){var t=e.width/2,n=e.circularPathData;return"top"===e.circularLinkType?"M "+n.targetX+" "+(n.targetY+t)+" L"+n.rightInnerExtent+" "+(n.targetY+t)+"A"+(n.rightLargeArcRadius+t)+" "+(n.rightSmallArcRadius+t)+" 0 0 1 "+(n.rightFullExtent-t)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-t)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+t)+" "+(n.rightLargeArcRadius+t)+" 0 0 1 "+n.rightInnerExtent+" "+(n.verticalFullExtent-t)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-t)+"A"+(n.leftLargeArcRadius+t)+" "+(n.leftLargeArcRadius+t)+" 0 0 1 "+(n.leftFullExtent+t)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+t)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+t)+" "+(n.leftSmallArcRadius+t)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+t)+"L"+n.sourceX+" "+(n.sourceY+t)+"L"+n.sourceX+" "+(n.sourceY-t)+"L"+n.leftInnerExtent+" "+(n.sourceY-t)+"A"+(n.leftLargeArcRadius-t)+" "+(n.leftSmallArcRadius-t)+" 0 0 0 "+(n.leftFullExtent-t)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-t)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-t)+" "+(n.leftLargeArcRadius-t)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+t)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent+t)+"A"+(n.rightLargeArcRadius-t)+" "+(n.rightLargeArcRadius-t)+" 0 0 0 "+(n.rightFullExtent+t)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+t)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-t)+" "+(n.rightSmallArcRadius-t)+" 0 0 0 "+n.rightInnerExtent+" "+(n.targetY-t)+"L"+n.targetX+" "+(n.targetY-t)+"Z":"M "+n.targetX+" "+(n.targetY-t)+" L"+n.rightInnerExtent+" "+(n.targetY-t)+"A"+(n.rightLargeArcRadius+t)+" "+(n.rightSmallArcRadius+t)+" 0 0 0 "+(n.rightFullExtent-t)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-t)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+t)+" "+(n.rightLargeArcRadius+t)+" 0 0 0 "+n.rightInnerExtent+" "+(n.verticalFullExtent+t)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+t)+"A"+(n.leftLargeArcRadius+t)+" "+(n.leftLargeArcRadius+t)+" 0 0 0 "+(n.leftFullExtent+t)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+t)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+t)+" "+(n.leftSmallArcRadius+t)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-t)+"L"+n.sourceX+" "+(n.sourceY-t)+"L"+n.sourceX+" "+(n.sourceY+t)+"L"+n.leftInnerExtent+" "+(n.sourceY+t)+"A"+(n.leftLargeArcRadius-t)+" "+(n.leftSmallArcRadius-t)+" 0 0 1 "+(n.leftFullExtent-t)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-t)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-t)+" "+(n.leftLargeArcRadius-t)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-t)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent-t)+"A"+(n.rightLargeArcRadius-t)+" "+(n.rightLargeArcRadius-t)+" 0 0 1 "+(n.rightFullExtent+t)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+t)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-t)+" "+(n.rightSmallArcRadius-t)+" 0 0 1 "+n.rightInnerExtent+" "+(n.targetY+t)+"L"+n.targetX+" "+(n.targetY+t)+"Z"}(e.link);var t=e.link.source.x1,n=e.link.target.x0,a=r(t,n),o=a(.5),i=a(.5),l=e.link.y0-e.link.width/2,s=e.link.y0+e.link.width/2,c=e.link.y1-e.link.width/2,d=e.link.y1+e.link.width/2;return"M"+t+","+l+"C"+o+","+l+" "+i+","+c+" "+n+","+c+"L"+n+","+d+"C"+i+","+d+" "+o+","+s+" "+t+","+s+"Z"}}function I(e,t){var n=c(t.color),a=s.nodePadAcross,r=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var o=t.dx,i=Math.max(.5,t.dy),l="node_"+t.pointNumber;return t.group&&(l=f.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:l,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:i,zoneX:-a,zoneY:-r,zoneWidth:o+2*a,zoneHeight:i+2*r,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:1===t.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:d.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,l].join("_"),interactionState:e.interactionState,figure:e}}function O(e){e.attr("transform",(function(e){return h(e.node.x0.toFixed(3),e.node.y0.toFixed(3))}))}function S(e){e.call(O)}function M(e,t){e.call(S),t.attr("d",T())}function E(e){e.attr("width",(function(e){return e.node.x1-e.node.x0})).attr("height",(function(e){return e.visibleHeight}))}function F(e){return e.link.width>1||e.linkLineWidth>0}function P(e){return h(e.translateX,e.translateY)+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function z(e,t,n){e.on(".basic",null).on("mouseover.basic",(function(e){e.interactionState.dragInProgress||e.partOfGroup||(n.hover(this,e,t),e.interactionState.hovered=[this,e])})).on("mousemove.basic",(function(e){e.interactionState.dragInProgress||e.partOfGroup||(n.follow(this,e),e.interactionState.hovered=[this,e])})).on("mouseout.basic",(function(e){e.interactionState.dragInProgress||e.partOfGroup||(n.unhover(this,e,t),e.interactionState.hovered=!1)})).on("click.basic",(function(e){e.interactionState.hovered&&(n.unhover(this,e,t),e.interactionState.hovered=!1),e.interactionState.dragInProgress||e.partOfGroup||n.select(this,e,t)}))}function C(e,t,n,r){var i=o.behavior.drag().origin((function(e){return{x:e.node.x0+e.visibleWidth/2,y:e.node.y0+e.visibleHeight/2}})).on("dragstart",(function(o){if("fixed"!==o.arrangement&&(f.ensureSingle(r._fullLayout._infolayer,"g","dragcover",(function(e){r._fullLayout._dragCover=e})),f.raiseToTop(this),o.interactionState.dragInProgress=o.node,D(o.node),o.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,o.interactionState.hovered),o.interactionState.hovered=!1),"snap"===o.arrangement)){var i=o.traceId+"|"+o.key;o.forceLayouts[i]?o.forceLayouts[i].alpha(1):function(e,t,n,r){!function(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}(n.graph.nodes);var o=n.graph.nodes.filter((function(e){return e.originalX===n.node.originalX})).filter((function(e){return!e.partOfGroup}));n.forceLayouts[t]=a.forceSimulation(o).alphaDecay(0).force("collide",a.forceCollide().radius((function(e){return e.dy/2+n.nodePad/2})).strength(1).iterations(s.forceIterations)).force("constrain",function(e,t,n,a){return function(){for(var e=0,r=0;r<n.length;r++){var o=n[r];o===a.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/s.forceTicksPerFrame,o.y=Math.min(a.size-o.dy/2,Math.max(o.dy/2,o.y))),e=Math.max(e,Math.abs(o.vx),Math.abs(o.vy))}!a.interactionState.dragInProgress&&e<.1&&a.forceLayouts[t].alpha()>0&&a.forceLayouts[t].alpha(0)}}(0,t,o,n)).stop()}(0,i,o),function(e,t,n,a,r){window.requestAnimationFrame((function o(){var i;for(i=0;i<s.forceTicksPerFrame;i++)n.forceLayouts[a].tick();if(function(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}(n.graph.nodes),n.sankey.update(n.graph),M(e.filter(Y(n)),t),n.forceLayouts[a].alpha()>0)window.requestAnimationFrame(o);else{var l=n.node.originalX;n.node.x0=l-n.visibleWidth/2,n.node.x1=l+n.visibleWidth/2,R(n,r)}}))}(e,t,o,i,r)}})).on("drag",(function(n){if("fixed"!==n.arrangement){var a=o.event.x,r=o.event.y;"snap"===n.arrangement?(n.node.x0=a-n.visibleWidth/2,n.node.x1=a+n.visibleWidth/2,n.node.y0=r-n.visibleHeight/2,n.node.y1=r+n.visibleHeight/2):("freeform"===n.arrangement&&(n.node.x0=a-n.visibleWidth/2,n.node.x1=a+n.visibleWidth/2),r=Math.max(0,Math.min(n.size-n.visibleHeight/2,r)),n.node.y0=r-n.visibleHeight/2,n.node.y1=r+n.visibleHeight/2),D(n.node),"snap"!==n.arrangement&&(n.sankey.update(n.graph),M(e.filter(Y(n)),t))}})).on("dragend",(function(e){if("fixed"!==e.arrangement){e.interactionState.dragInProgress=!1;for(var t=0;t<e.node.childrenNodes.length;t++)e.node.childrenNodes[t].x=e.node.x,e.node.childrenNodes[t].y=e.node.y;"snap"!==e.arrangement&&R(e,r)}}));e.on(".drag",null).call(i)}function R(e,t){for(var n=[],a=[],r=0;r<e.graph.nodes.length;r++){var o=(e.graph.nodes[r].x0+e.graph.nodes[r].x1)/2,i=(e.graph.nodes[r].y0+e.graph.nodes[r].y1)/2;n.push(o/e.figure.width),a.push(i/e.figure.height)}b.call("_guiRestyle",t,{"node.x":[n],"node.y":[a]},e.trace.index).then((function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()}))}function D(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function Y(e){return function(t){return t.node.originalX===e.node.originalX}}e.exports=function(e,t,n,a,r){var i=!1;f.ensureSingle(e._fullLayout._infolayer,"g","first-render",(function(){i=!0}));var l=e._fullLayout._dragCover,v=n.filter((function(e){return g(e).trace.visible})).map(w.bind(null,a)),b=t.selectAll("."+s.cn.sankey).data(v,y);b.exit().remove(),b.enter().append("g").classed(s.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",P),b.each((function(t,n){e._fullData[n]._sankey=t;var a="bgsankey-"+t.trace.uid+"-"+n;f.ensureSingle(e._fullLayout._draggers,"rect",a),e._fullData[n]._bgRect=o.select("."+a),e._fullData[n]._bgRect.style("pointer-events","all").attr("width",t.width).attr("height",t.height).attr("x",t.translateX).attr("y",t.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})})),b.transition().ease(s.ease).duration(s.duration).attr("transform",P);var k=b.selectAll("."+s.cn.sankeyLinks).data(x,y);k.enter().append("g").classed(s.cn.sankeyLinks,!0).style("fill","none");var S=k.selectAll("."+s.cn.sankeyLink).data((function(e){return e.graph.links.filter((function(e){return e.value})).map(A.bind(null,e))}),y);S.enter().append("path").classed(s.cn.sankeyLink,!0).call(z,b,r.linkEvents),S.style("stroke",(function(e){return F(e)?d.tinyRGB(c(e.linkLineColor)):e.tinyColorHue})).style("stroke-opacity",(function(e){return F(e)?d.opacity(e.linkLineColor):e.tinyColorAlpha})).style("fill",(function(e){return e.tinyColorHue})).style("fill-opacity",(function(e){return e.tinyColorAlpha})).style("stroke-width",(function(e){return F(e)?e.linkLineWidth:1})).attr("d",T()),S.style("opacity",(function(){return e._context.staticPlot||i||l?1:0})).transition().ease(s.ease).duration(s.duration).style("opacity",1),S.exit().transition().ease(s.ease).duration(s.duration).style("opacity",0).remove();var M=b.selectAll("."+s.cn.sankeyNodeSet).data(x,y);M.enter().append("g").classed(s.cn.sankeyNodeSet,!0),M.style("cursor",(function(e){switch(e.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}}));var R=M.selectAll("."+s.cn.sankeyNode).data((function(e){var t=e.graph.nodes;return function(e){var t,n=[];for(t=0;t<e.length;t++)e[t].originalX=(e[t].x0+e[t].x1)/2,e[t].originalY=(e[t].y0+e[t].y1)/2,-1===n.indexOf(e[t].originalX)&&n.push(e[t].originalX);for(n.sort((function(e,t){return e-t})),t=0;t<e.length;t++)e[t].originalLayerIndex=n.indexOf(e[t].originalX),e[t].originalLayer=e[t].originalLayerIndex/(n.length-1)}(t),t.map(I.bind(null,e))}),y);R.enter().append("g").classed(s.cn.sankeyNode,!0).call(O).style("opacity",(function(t){return!e._context.staticPlot&&!i||t.partOfGroup?0:1})),R.call(z,b,r.nodeEvents).call(C,S,r,e),R.transition().ease(s.ease).duration(s.duration).call(O).style("opacity",(function(e){return e.partOfGroup?0:1})),R.exit().transition().ease(s.ease).duration(s.duration).style("opacity",0).remove();var D=R.selectAll("."+s.cn.nodeRect).data(x);D.enter().append("rect").classed(s.cn.nodeRect,!0).call(E),D.style("stroke-width",(function(e){return e.nodeLineWidth})).style("stroke",(function(e){return d.tinyRGB(c(e.nodeLineColor))})).style("stroke-opacity",(function(e){return d.opacity(e.nodeLineColor)})).style("fill",(function(e){return e.tinyColorHue})).style("fill-opacity",(function(e){return e.tinyColorAlpha})),D.transition().ease(s.ease).duration(s.duration).call(E);var Y=R.selectAll("."+s.cn.nodeLabel).data(x);Y.enter().append("text").classed(s.cn.nodeLabel,!0).style("cursor","default"),Y.attr("data-notex",1).text((function(e){return e.node.label})).each((function(t){var n=o.select(this);u.font(n,t.textFont),m.convertToTspans(n,e)})).style("text-shadow",m.makeTextShadow(e._fullLayout.paper_bgcolor)).attr("text-anchor",(function(e){return e.horizontal&&e.left?"end":"start"})).attr("transform",(function(e){var t=o.select(this),n=m.lineCount(t),a=e.textFont.size*((n-1)*_-L),r=e.nodeLineWidth/2+3,i=((e.horizontal?e.visibleHeight:e.visibleWidth)-a)/2;e.horizontal&&(e.left?r=-r:r+=e.visibleWidth);var l=e.horizontal?"":"scale(-1,1)"+p(90);return h(e.horizontal?r:i,e.horizontal?i:r)+l})),Y.transition().ease(s.ease).duration(s.duration)}},39934:function(e){e.exports=function(e,t){for(var n=[],a=e.cd[0].trace,r=a._sankey.graph.nodes,o=0;o<r.length;o++){var i=r[o];if(!i.partOfGroup){var l=[(i.x0+i.x1)/2,(i.y0+i.y1)/2];"v"===a.orientation&&l.reverse(),t&&t.contains(l,!1,o,e)&&n.push({pointNumber:i.pointNumber})}}return n}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_mlflow_mlflow=self.webpackChunk_mlflow_mlflow||[]).push([[1079],{55027:function(e){var t=String.prototype.replace,r=/%20/g,n="RFC1738",o="RFC3986";e.exports={default:o,formatters:{RFC1738:function(e){return t.call(e,r,"+")},RFC3986:function(e){return String(e)}},RFC1738:n,RFC3986:o}},51079:function(e,t,r){var n=r(58654),o=r(2656),i=r(55027);e.exports={formats:i,parse:o,stringify:n}},2656:function(e,t,r){var n=r(55570),o=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},l=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},f=function(e,t,r,n){if(e){var i=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,l=r.depth>0&&/(\[[^[\]]*])/.exec(i),f=l?i.slice(0,l.index):i,s=[];if(f){if(!r.plainObjects&&o.call(Object.prototype,f)&&!r.allowPrototypes)return;s.push(f)}for(var u=0;r.depth>0&&null!==(l=a.exec(i))&&u<r.depth;){if(u+=1,!r.plainObjects&&o.call(Object.prototype,l[1].slice(1,-1))&&!r.allowPrototypes)return;s.push(l[1])}return l&&s.push("["+i.slice(l.index)+"]"),function(e,t,r,n){for(var o=n?t:c(t,r),i=e.length-1;i>=0;--i){var a,l=e[i];if("[]"===l&&r.parseArrays)a=[].concat(o);else{a=r.plainObjects?Object.create(null):{};var f="["===l.charAt(0)&&"]"===l.charAt(l.length-1)?l.slice(1,-1):l,s=parseInt(f,10);r.parseArrays||""!==f?!isNaN(s)&&l!==f&&String(s)===f&&s>=0&&r.parseArrays&&s<=r.arrayLimit?(a=[])[s]=o:"__proto__"!==f&&(a[f]=o):a={0:o}}o=a}return o}(s,t,r,n)}};e.exports=function(e,t){var r=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?a.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:a.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:a.comma,decoder:"function"===typeof e.decoder?e.decoder:a.decoder,delimiter:"string"===typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return r.plainObjects?Object.create(null):{};for(var s="string"===typeof e?function(e,t){var r,f={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,u=t.parameterLimit===1/0?void 0:t.parameterLimit,p=s.split(t.delimiter,u),d=-1,y=t.charset;if(t.charsetSentinel)for(r=0;r<p.length;++r)0===p[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===p[r]?y="utf-8":"utf8=%26%2310003%3B"===p[r]&&(y="iso-8859-1"),d=r,r=p.length);for(r=0;r<p.length;++r)if(r!==d){var m,h,b=p[r],g=b.indexOf("]="),v=-1===g?b.indexOf("="):g+1;-1===v?(m=t.decoder(b,a.decoder,y,"key"),h=t.strictNullHandling?null:""):(m=t.decoder(b.slice(0,v),a.decoder,y,"key"),h=n.maybeMap(c(b.slice(v+1),t),(function(e){return t.decoder(e,a.decoder,y,"value")}))),h&&t.interpretNumericEntities&&"iso-8859-1"===y&&(h=l(h)),b.indexOf("[]=")>-1&&(h=i(h)?[h]:h),o.call(f,m)?f[m]=n.combine(f[m],h):f[m]=h}return f}(e,r):e,u=r.plainObjects?Object.create(null):{},p=Object.keys(s),d=0;d<p.length;++d){var y=p[d],m=f(y,s[y],r,"string"===typeof e);u=n.merge(u,m,r)}return!0===r.allowSparse?u:n.compact(u)}},58654:function(e,t,r){var n=r(5094),o=r(55570),i=r(55027),a=Object.prototype.hasOwnProperty,l={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},c=Array.isArray,f=String.prototype.split,s=Array.prototype.push,u=function(e,t){s.apply(e,c(t)?t:[t])},p=Date.prototype.toISOString,d=i.default,y={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:o.encode,encodeValuesOnly:!1,format:d,formatter:i.formatters[d],indices:!1,serializeDate:function(e){return p.call(e)},skipNulls:!1,strictNullHandling:!1},m={},h=function e(t,r,i,a,l,s,p,d,h,b,g,v,j,w,O){for(var S,x=t,N=O,k=0,D=!1;void 0!==(N=N.get(m))&&!D;){var P=N.get(t);if(k+=1,"undefined"!==typeof P){if(P===k)throw new RangeError("Cyclic object value");D=!0}"undefined"===typeof N.get(m)&&(k=0)}if("function"===typeof p?x=p(r,x):x instanceof Date?x=b(x):"comma"===i&&c(x)&&(x=o.maybeMap(x,(function(e){return e instanceof Date?b(e):e}))),null===x){if(a)return s&&!j?s(r,y.encoder,w,"key",g):r;x=""}if("string"===typeof(S=x)||"number"===typeof S||"boolean"===typeof S||"symbol"===typeof S||"bigint"===typeof S||o.isBuffer(x)){if(s){var E=j?r:s(r,y.encoder,w,"key",g);if("comma"===i&&j){for(var A=f.call(String(x),","),C="",L=0;L<A.length;++L)C+=(0===L?"":",")+v(s(A[L],y.encoder,w,"value",g));return[v(E)+(c(x)&&1===A.length?"[]":"")+"="+C]}return[v(E)+"="+v(s(x,y.encoder,w,"value",g))]}return[v(r)+"="+v(String(x))]}var H,R=[];if("undefined"===typeof x)return R;if("comma"===i&&c(x))H=[{value:x.length>0?x.join(",")||null:void 0}];else if(c(p))H=p;else{var Q=Object.keys(x);H=d?Q.sort(d):Q}for(var F="comma"===i&&c(x)&&1===x.length?r+"[]":r,T=0;T<H.length;++T){var _=H[T],B="object"===typeof _&&"undefined"!==typeof _.value?_.value:x[_];if(!l||null!==B){var z=c(x)?"function"===typeof i?i(F,_):F:F+(h?"."+_:"["+_+"]");O.set(t,k);var V=n();V.set(m,O),u(R,e(B,z,i,a,l,s,p,d,h,b,g,v,j,w,V))}}return R};e.exports=function(e,t){var r,o=e,f=function(e){if(!e)return y;if(null!==e.encoder&&"undefined"!==typeof e.encoder&&"function"!==typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||y.charset;if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=i.default;if("undefined"!==typeof e.format){if(!a.call(i.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=i.formatters[r],o=y.filter;return("function"===typeof e.filter||c(e.filter))&&(o=e.filter),{addQueryPrefix:"boolean"===typeof e.addQueryPrefix?e.addQueryPrefix:y.addQueryPrefix,allowDots:"undefined"===typeof e.allowDots?y.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:y.charsetSentinel,delimiter:"undefined"===typeof e.delimiter?y.delimiter:e.delimiter,encode:"boolean"===typeof e.encode?e.encode:y.encode,encoder:"function"===typeof e.encoder?e.encoder:y.encoder,encodeValuesOnly:"boolean"===typeof e.encodeValuesOnly?e.encodeValuesOnly:y.encodeValuesOnly,filter:o,format:r,formatter:n,serializeDate:"function"===typeof e.serializeDate?e.serializeDate:y.serializeDate,skipNulls:"boolean"===typeof e.skipNulls?e.skipNulls:y.skipNulls,sort:"function"===typeof e.sort?e.sort:null,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:y.strictNullHandling}}(t);"function"===typeof f.filter?o=(0,f.filter)("",o):c(f.filter)&&(r=f.filter);var s,p=[];if("object"!==typeof o||null===o)return"";s=t&&t.arrayFormat in l?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var d=l[s];r||(r=Object.keys(o)),f.sort&&r.sort(f.sort);for(var m=n(),b=0;b<r.length;++b){var g=r[b];f.skipNulls&&null===o[g]||u(p,h(o[g],g,d,f.strictNullHandling,f.skipNulls,f.encode?f.encoder:null,f.filter,f.sort,f.allowDots,f.serializeDate,f.format,f.formatter,f.encodeValuesOnly,f.charset,m))}var v=p.join(f.delimiter),j=!0===f.addQueryPrefix?"?":"";return f.charsetSentinel&&("iso-8859-1"===f.charset?j+="utf8=%26%2310003%3B&":j+="utf8=%E2%9C%93&"),v.length>0?j+v:""}},55570:function(e,t,r){var n=r(55027),o=Object.prototype.hasOwnProperty,i=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),l=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)"undefined"!==typeof e[n]&&(r[n]=e[n]);return r};e.exports={arrayToObject:l,assign:function(e,t){return Object.keys(t).reduce((function(e,r){return e[r]=t[r],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],n=0;n<t.length;++n)for(var o=t[n],a=o.obj[o.prop],l=Object.keys(a),c=0;c<l.length;++c){var f=l[c],s=a[f];"object"===typeof s&&null!==s&&-1===r.indexOf(s)&&(t.push({obj:a,prop:f}),r.push(s))}return function(e){for(;e.length>1;){var t=e.pop(),r=t.obj[t.prop];if(i(r)){for(var n=[],o=0;o<r.length;++o)"undefined"!==typeof r[o]&&n.push(r[o]);t.obj[t.prop]=n}}}(t),e},decode:function(e,t,r){var n=e.replace(/\+/g," ");if("iso-8859-1"===r)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch(o){return n}},encode:function(e,t,r,o,i){if(0===e.length)return e;var l=e;if("symbol"===typeof e?l=Symbol.prototype.toString.call(e):"string"!==typeof e&&(l=String(e)),"iso-8859-1"===r)return escape(l).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var c="",f=0;f<l.length;++f){var s=l.charCodeAt(f);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||i===n.RFC1738&&(40===s||41===s)?c+=l.charAt(f):s<128?c+=a[s]:s<2048?c+=a[192|s>>6]+a[128|63&s]:s<55296||s>=57344?c+=a[224|s>>12]+a[128|s>>6&63]+a[128|63&s]:(f+=1,s=65536+((1023&s)<<10|1023&l.charCodeAt(f)),c+=a[240|s>>18]+a[128|s>>12&63]+a[128|s>>6&63]+a[128|63&s])}return c},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var r=[],n=0;n<e.length;n+=1)r.push(t(e[n]));return r}return t(e)},merge:function e(t,r,n){if(!r)return t;if("object"!==typeof r){if(i(t))t.push(r);else{if(!t||"object"!==typeof t)return[t,r];(n&&(n.plainObjects||n.allowPrototypes)||!o.call(Object.prototype,r))&&(t[r]=!0)}return t}if(!t||"object"!==typeof t)return[t].concat(r);var a=t;return i(t)&&!i(r)&&(a=l(t,n)),i(t)&&i(r)?(r.forEach((function(r,i){if(o.call(t,i)){var a=t[i];a&&"object"===typeof a&&r&&"object"===typeof r?t[i]=e(a,r,n):t.push(r)}else t[i]=r})),t):Object.keys(r).reduce((function(t,i){var a=r[i];return o.call(t,i)?t[i]=e(t[i],a,n):t[i]=a,t}),a)}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_mlflow_mlflow=self.webpackChunk_mlflow_mlflow||[]).push([[110],{11698:function(e,a,l){var s=l(62282),t=l(47401),r=l(77063);e.exports=function(e){return function(a,l){var i=a[e];if(Array.isArray(i))for(var o=s.subplotsRegistry.cartesian,n=o.idRegex,c=l._subplots,p=c.xaxis,u=c.yaxis,x=c.cartesian,y=l._has("cartesian")||l._has("gl2d"),g=0;g<i.length;g++){var v=i[g];if(t.isPlainObject(v)){var f=r.cleanId(v.xref,"x",!1),h=r.cleanId(v.yref,"y",!1),d=n.x.test(f),_=n.y.test(h);if(d||_){y||t.pushUnique(l._basePlotModules,o);var m=!1;d&&-1===p.indexOf(f)&&(p.push(f),m=!0),_&&-1===u.indexOf(h)&&(u.push(h),m=!0),m&&d&&_&&x.push(f+h)}}}}}},66807:function(e,a,l){var s=l(62258),t=l(62282),r=l(47401),i=l(35722),o=l(41707),n=l(13373).eV,c=l(77063),p=l(56890),u=l(6412),x=r.ensureSingle;function y(e,a,l){return r.ensureSingle(e,a,l,(function(e){e.datum(l)}))}function g(e,a,l,r,i){for(var c,u,x,y=p.traceLayerClasses,g=e._fullLayout,v=g._modules,f=[],h=[],d=0;d<v.length;d++){var _=(c=v[d]).name,m=t.modules[_].categories;if(m.svg){var b=c.layerName||_+"layer",A=c.plot;x=(u=n(l,A))[0],l=u[1],x.length&&f.push({i:y.indexOf(b),className:b,plotMethod:A,cdModule:x}),m.zoomScale&&h.push("."+b)}}f.sort((function(e,a){return e.i-a.i}));var w=a.plot.selectAll("g.mlayer").data(f,(function(e){return e.className}));if(w.enter().append("g").attr("class",(function(e){return e.className})).classed("mlayer",!0).classed("rangeplot",a.isRangePlot),w.exit().remove(),w.order(),w.each((function(l){var t=s.select(this),n=l.className;l.plotMethod(e,a,l.cdModule,t,r,i),-1===p.clipOnAxisFalseQuery.indexOf("."+n)&&o.setClipUrl(t,a.layerClipId,e)})),g._has("scattergl")&&(c=t.getModule("scattergl"),x=n(l,c)[0],c.plot(e,a,x)),!e._context.staticPlot&&(a._hasClipOnAxisFalse&&(a.clipOnAxisFalseTraces=a.plot.selectAll(p.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),h.length)){var O=a.plot.selectAll(h.join(",")).selectAll(".trace");a.zoomScalePts=O.selectAll("path.point"),a.zoomScaleTxt=O.selectAll(".textpoint")}}function v(e,a){var l=a.plotgroup,s=a.id,t=p.layerValue2layerClass[a.xaxis.layer],r=p.layerValue2layerClass[a.yaxis.layer],i=e._fullLayout._hasOnlyLargeSploms;if(a.mainplot){var o=a.mainplotinfo,n=o.plotgroup,u=s+"-x",g=s+"-y";a.gridlayer=o.gridlayer,a.zerolinelayer=o.zerolinelayer,x(o.overlinesBelow,"path",u),x(o.overlinesBelow,"path",g),x(o.overaxesBelow,"g",u),x(o.overaxesBelow,"g",g),a.plot=x(o.overplot,"g",s),x(o.overlinesAbove,"path",u),x(o.overlinesAbove,"path",g),x(o.overaxesAbove,"g",u),x(o.overaxesAbove,"g",g),a.xlines=n.select(".overlines-"+t).select("."+u),a.ylines=n.select(".overlines-"+r).select("."+g),a.xaxislayer=n.select(".overaxes-"+t).select("."+u),a.yaxislayer=n.select(".overaxes-"+r).select("."+g)}else if(i)a.xlines=x(l,"path","xlines-above"),a.ylines=x(l,"path","ylines-above"),a.xaxislayer=x(l,"g","xaxislayer-above"),a.yaxislayer=x(l,"g","yaxislayer-above");else{var v=x(l,"g","layer-subplot");a.shapelayer=x(v,"g","shapelayer"),a.imagelayer=x(v,"g","imagelayer"),a.gridlayer=x(l,"g","gridlayer"),a.zerolinelayer=x(l,"g","zerolinelayer"),x(l,"path","xlines-below"),x(l,"path","ylines-below"),a.overlinesBelow=x(l,"g","overlines-below"),x(l,"g","xaxislayer-below"),x(l,"g","yaxislayer-below"),a.overaxesBelow=x(l,"g","overaxes-below"),a.plot=x(l,"g","plot"),a.overplot=x(l,"g","overplot"),a.xlines=x(l,"path","xlines-above"),a.ylines=x(l,"path","ylines-above"),a.overlinesAbove=x(l,"g","overlines-above"),x(l,"g","xaxislayer-above"),x(l,"g","yaxislayer-above"),a.overaxesAbove=x(l,"g","overaxes-above"),a.xlines=l.select(".xlines-"+t),a.ylines=l.select(".ylines-"+r),a.xaxislayer=l.select(".xaxislayer-"+t),a.yaxislayer=l.select(".yaxislayer-"+r)}i||(y(a.gridlayer,"g",a.xaxis._id),y(a.gridlayer,"g",a.yaxis._id),a.gridlayer.selectAll("g").map((function(e){return e[0]})).sort(c.idSort)),a.xlines.style("fill","none").classed("crisp",!0),a.ylines.style("fill","none").classed("crisp",!0)}function f(e,a){if(e){var l={};for(var t in e.each((function(e){var t=e[0];s.select(this).remove(),h(t,a),l[t]=!0})),a._plots)for(var r=a._plots[t].overlays||[],i=0;i<r.length;i++){var o=r[i];l[o.id]&&o.plot.selectAll(".trace").remove()}}}function h(e,a){a._draggers.selectAll("g."+e).remove(),a._defs.select("#clip"+a._uid+e+"plot").remove()}a.name="cartesian",a.attr=["xaxis","yaxis"],a.idRoot=["x","y"],a.idRegex=p.idRegex,a.attrRegex=p.attrRegex,a.attributes=l(80070),a.layoutAttributes=l(33333),a.supplyLayoutDefaults=l(11746),a.transitionAxes=l(61766),a.finalizeSubplots=function(e,a){var l,s,t,i=a._subplots,o=i.xaxis,n=i.yaxis,u=i.cartesian,x=u.concat(i.gl2d||[]),y={},g={};for(l=0;l<x.length;l++){var v=x[l].split("y");y[v[0]]=1,g["y"+v[1]]=1}for(l=0;l<o.length;l++)y[s=o[l]]||(t=(e[c.id2name(s)]||{}).anchor,p.idRegex.y.test(t)||(t="y"),u.push(s+t),x.push(s+t),g[t]||(g[t]=1,r.pushUnique(n,t)));for(l=0;l<n.length;l++)g[t=n[l]]||(s=(e[c.id2name(t)]||{}).anchor,p.idRegex.x.test(s)||(s="x"),u.push(s+t),x.push(s+t),y[s]||(y[s]=1,r.pushUnique(o,s)));if(!x.length){for(var f in s="",t="",e){if(p.attrRegex.test(f))"x"===f.charAt(0)?(!s||+f.substr(5)<+s.substr(5))&&(s=f):(!t||+f.substr(5)<+t.substr(5))&&(t=f)}s=s?c.name2id(s):"x",t=t?c.name2id(t):"y",o.push(s),n.push(t),u.push(s+t)}},a.plot=function(e,a,l,s){var t,r=e._fullLayout,i=r._subplots.cartesian,o=e.calcdata;if(!Array.isArray(a))for(a=[],t=0;t<o.length;t++)a.push(t);for(t=0;t<i.length;t++){for(var n,c=i[t],p=r._plots[c],u=[],x=0;x<o.length;x++){var y=o[x],v=y[0].trace;v.xaxis+v.yaxis===c&&((-1!==a.indexOf(v.index)||v.carpet)&&(n&&n[0].trace.xaxis+n[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(v.fill)&&-1===u.indexOf(n)&&u.push(n),u.push(y)),n=y)}g(e,p,u,l,s)}},a.clean=function(e,a,l,s){var t,r,i,o=s._plots||{},n=a._plots||{},p=s._subplots||{};if(s._hasOnlyLargeSploms&&!a._hasOnlyLargeSploms)for(i in o)(t=o[i]).plotgroup&&t.plotgroup.remove();var u=s._has&&s._has("gl"),x=a._has&&a._has("gl");if(u&&!x)for(i in o)(t=o[i])._scene&&t._scene.destroy();if(p.xaxis&&p.yaxis){var y=c.listIds({_fullLayout:s});for(r=0;r<y.length;r++){var g=y[r];a[c.id2name(g)]||s._infolayer.selectAll(".g-"+g+"title").remove()}}var v=s._has&&s._has("cartesian"),d=a._has&&a._has("cartesian");if(v&&!d)f(s._cartesianlayer.selectAll(".subplot"),s),s._defs.selectAll(".axesclip").remove(),delete s._axisConstraintGroups,delete s._axisMatchGroups;else if(p.cartesian)for(r=0;r<p.cartesian.length;r++){var _=p.cartesian[r];if(!n[_]){var m="."+_+",."+_+"-x,."+_+"-y";s._cartesianlayer.selectAll(m).remove(),h(_,s)}}},a.drawFramework=function(e){var a=e._fullLayout,l=function(e){var a,l,s,t,r,i,o=e._fullLayout,n=o._subplots.cartesian,c=n.length,p=[],u=[];for(a=0;a<c;a++){s=n[a],r=(t=o._plots[s]).xaxis,i=t.yaxis;var x=r._mainAxis,y=i._mainAxis,g=x._id+y._id,v=o._plots[g];t.overlays=[],g!==s&&v?(t.mainplot=g,t.mainplotinfo=v,u.push(s)):(t.mainplot=void 0,t.mainplotinfo=void 0,p.push(s))}for(a=0;a<u.length;a++)s=u[a],(t=o._plots[s]).mainplotinfo.overlays.push(t);var f=p.concat(u),h=new Array(c);for(a=0;a<c;a++){s=f[a],r=(t=o._plots[s]).xaxis,i=t.yaxis;var d=[s,r.layer,i.layer,r.overlaying||"",i.overlaying||""];for(l=0;l<t.overlays.length;l++)d.push(t.overlays[l].id);h[a]=d}return h}(e),t=a._cartesianlayer.selectAll(".subplot").data(l,String);t.enter().append("g").attr("class",(function(e){return"subplot "+e[0]})),t.order(),t.exit().call(f,a),t.each((function(l){var t=l[0],r=a._plots[t];r.plotgroup=s.select(this),v(e,r),r.draglayer=x(a._draggers,"g",t)}))},a.rangePlot=function(e,a,l){v(e,a),g(e,a,l),i.style(e)},a.toSVG=function(e){var a=e._fullLayout._glimages,l=s.select(e).selectAll(".svg-container");l.filter((function(e,a){return a===l.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var e=this,l=e.toDataURL("image/png");a.append("svg:image").attr({xmlns:u.svg,"xlink:href":l,preserveAspectRatio:"none",x:0,y:0,width:e.style.width,height:e.style.height})}))},a.updateFx=l(9636).updateFx}}]);